清理引用,将NavigatorServices更改为使用Message来实现导航的切换

This commit is contained in:
2025-06-23 17:01:06 +08:00
parent 8ee4b7bc05
commit 8fcd2fdf2a
62 changed files with 711 additions and 767 deletions

View File

@@ -24,19 +24,19 @@ public class BaseRepositories
private void CheckDbTables()
{
if(!_db.DbMaintenance.IsAnyTable<DbNlog>())
if (!_db.DbMaintenance.IsAnyTable<DbNlog>())
_db.CodeFirst.InitTables<DbNlog>();
if(!_db.DbMaintenance.IsAnyTable<DbDevice>())
_db.CodeFirst.InitTables<DbDevice>();
if(!_db.DbMaintenance.IsAnyTable<DbVariableTable>())
_db.CodeFirst.InitTables<DbVariableTable>();
if(!_db.DbMaintenance.IsAnyTable<DbDataVariable>())
_db.CodeFirst.InitTables<DbDataVariable>();
if(!_db.DbMaintenance.IsAnyTable<DbS7DataVariable>())
_db.CodeFirst.InitTables<DbS7DataVariable>();
if(!_db.DbMaintenance.IsAnyTable<DbUser>())
_db.CodeFirst.InitTables<DbUser>();
if(!_db.DbMaintenance.IsAnyTable<DbMqtt>())
_db.CodeFirst.InitTables<DbMqtt>();
if (!_db.DbMaintenance.IsAnyTable<DbDevice>())
_db.CodeFirst.InitTables<DbDevice>();
if (!_db.DbMaintenance.IsAnyTable<DbVariableTable>())
_db.CodeFirst.InitTables<DbVariableTable>();
if (!_db.DbMaintenance.IsAnyTable<DbDataVariable>())
_db.CodeFirst.InitTables<DbDataVariable>();
if (!_db.DbMaintenance.IsAnyTable<DbS7DataVariable>())
_db.CodeFirst.InitTables<DbS7DataVariable>();
if (!_db.DbMaintenance.IsAnyTable<DbUser>())
_db.CodeFirst.InitTables<DbUser>();
if (!_db.DbMaintenance.IsAnyTable<DbMqtt>())
_db.CodeFirst.InitTables<DbMqtt>();
}
}

View File

@@ -1,5 +1,4 @@
using PMSWPF.Data.Entities;
using PMSWPF.Enums;
using PMSWPF.Excptions;
using PMSWPF.Extensions;
using PMSWPF.Helper;
@@ -7,52 +6,45 @@ using PMSWPF.Models;
namespace PMSWPF.Data.Repositories;
public class DevicesRepositories:BaseRepositories
public class DevicesRepositories : BaseRepositories
{
public DevicesRepositories():base()
{
}
public async Task<bool> Add(Device device)
{
var exist=await _db.Queryable<DbDevice>().Where(d=>d.Name==device.Name).FirstAsync();
if (exist != null)
{
throw new DbExistException("设备名称已经存在。");
}
DbDevice dbDevice=new DbDevice();
device.CopyTo<DbDevice>(dbDevice);
dbDevice.VariableTables=new ();
// 添加默认变量表
DbVariableTable dbVariableTable=new DbVariableTable();
dbVariableTable.Name = "默认变量表";
dbVariableTable.Description = "默认变量表";
dbVariableTable.ProtocolType = dbDevice.ProtocolType;
dbDevice.VariableTables.Add(dbVariableTable);
return await _db.InsertNav(dbDevice).Include(d=>d.VariableTables).ExecuteCommandAsync();
var exist = await _db.Queryable<DbDevice>().Where(d => d.Name == device.Name).FirstAsync();
if (exist != null) throw new DbExistException("设备名称已经存在。");
var dbDevice = new DbDevice();
device.CopyTo(dbDevice);
dbDevice.VariableTables = new List<DbVariableTable>();
// 添加默认变量表
var dbVariableTable = new DbVariableTable();
dbVariableTable.Name = "默认变量表";
dbVariableTable.Description = "默认变量表";
dbVariableTable.ProtocolType = dbDevice.ProtocolType;
dbDevice.VariableTables.Add(dbVariableTable);
return await _db.InsertNav(dbDevice).Include(d => d.VariableTables).ExecuteCommandAsync();
}
public async Task<List<Device>> GetAll()
{
var dlist= await _db.Queryable<DbDevice>().Includes(d=>d.VariableTables).ToListAsync();
List<Device> devices=new List<Device>();
foreach (DbDevice dbDevice in dlist)
{
Device device = dbDevice.NewTo<Device>();
device.VariableTables=CovertHelper.ConvertList<DbVariableTable,VariableTable>(dbDevice.VariableTables);
devices.Add(device);
}
var dlist = await _db.Queryable<DbDevice>().Includes(d => d.VariableTables).ToListAsync();
var devices = new List<Device>();
foreach (var dbDevice in dlist)
{
var device = dbDevice.NewTo<Device>();
device.VariableTables = CovertHelper.ConvertList<DbVariableTable, VariableTable>(dbDevice.VariableTables);
devices.Add(device);
}
return devices;
return devices;
}
public async Task<DbDevice> GetById(int id)
{
return await _db.Queryable<DbDevice>().FirstAsync(p=>p.Id == id);
return await _db.Queryable<DbDevice>().FirstAsync(p => p.Id == id);
}
public async Task<int> DeleteById(int id)
{
return await _db.Deleteable<DbDevice>(new DbDevice() { Id = id }).ExecuteCommandAsync();
return await _db.Deleteable<DbDevice>(new DbDevice { Id = id }).ExecuteCommandAsync();
}
}