修改了参数事件
This commit is contained in:
@@ -9,19 +9,19 @@ namespace DMS.Application.DTOs.Events
|
||||
public class DataLoadCompletedEventArgs : System.EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载的设备数量
|
||||
/// 加载的设备列表
|
||||
/// </summary>
|
||||
public int DeviceCount { get; }
|
||||
public List<DeviceDto> Devices { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 加载的变量表数量
|
||||
/// 加载的变量表列表
|
||||
/// </summary>
|
||||
public int VariableTableCount { get; }
|
||||
public List<VariableTableDto> VariableTables { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 加载的变量数量
|
||||
/// 加载的变量列表
|
||||
/// </summary>
|
||||
public int VariableCount { get; }
|
||||
public List<VariableDto> Variables { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 加载是否成功
|
||||
@@ -41,16 +41,16 @@ namespace DMS.Application.DTOs.Events
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="deviceCount">设备数量</param>
|
||||
/// <param name="variableTableCount">变量表数量</param>
|
||||
/// <param name="variableCount">变量数量</param>
|
||||
/// <param name="devices">设备列表</param>
|
||||
/// <param name="variableTables">变量表列表</param>
|
||||
/// <param name="variables">变量列表</param>
|
||||
/// <param name="isSuccess">是否成功</param>
|
||||
/// <param name="errorMessage">错误信息</param>
|
||||
public DataLoadCompletedEventArgs(int deviceCount, int variableTableCount, int variableCount, bool isSuccess, string errorMessage = null)
|
||||
public DataLoadCompletedEventArgs(List<DeviceDto> devices, List<VariableTableDto> variableTables, List<VariableDto> variables, bool isSuccess, string errorMessage = null)
|
||||
{
|
||||
DeviceCount = deviceCount;
|
||||
VariableTableCount = variableTableCount;
|
||||
VariableCount = variableCount;
|
||||
Devices = devices ?? new List<DeviceDto>();
|
||||
VariableTables = variableTables ?? new List<VariableTableDto>();
|
||||
Variables = variables ?? new List<VariableDto>();
|
||||
IsSuccess = isSuccess;
|
||||
ErrorMessage = errorMessage;
|
||||
LoadTime = DateTime.Now;
|
||||
|
||||
@@ -13,14 +13,9 @@ namespace DMS.Application.DTOs.Events
|
||||
public DataChangeType ChangeType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备ID
|
||||
/// 设备DTO
|
||||
/// </summary>
|
||||
public int DeviceId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 设备名称
|
||||
/// </summary>
|
||||
public string DeviceName { get; }
|
||||
public DeviceDto Device { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变更时间
|
||||
@@ -31,13 +26,11 @@ namespace DMS.Application.DTOs.Events
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="changeType">变更类型</param>
|
||||
/// <param name="deviceId">设备ID</param>
|
||||
/// <param name="deviceName">设备名称</param>
|
||||
public DeviceChangedEventArgs(DataChangeType changeType, int deviceId, string deviceName)
|
||||
/// <param name="device">设备DTO</param>
|
||||
public DeviceChangedEventArgs(DataChangeType changeType, DeviceDto device)
|
||||
{
|
||||
ChangeType = changeType;
|
||||
DeviceId = deviceId;
|
||||
DeviceName = deviceName;
|
||||
Device = device;
|
||||
ChangeTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,19 +13,14 @@ namespace DMS.Application.DTOs.Events
|
||||
public DataChangeType ChangeType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量ID
|
||||
/// 变量DTO
|
||||
/// </summary>
|
||||
public int VariableId { get; }
|
||||
public VariableDto Variable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量名称
|
||||
/// 关联的变量表DTO
|
||||
/// </summary>
|
||||
public string VariableName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的变量表ID
|
||||
/// </summary>
|
||||
public int VariableTableId { get; }
|
||||
public VariableTableDto VariableTable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变更时间
|
||||
@@ -36,15 +31,13 @@ namespace DMS.Application.DTOs.Events
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="changeType">变更类型</param>
|
||||
/// <param name="variableId">变量ID</param>
|
||||
/// <param name="variableName">变量名称</param>
|
||||
/// <param name="variableTableId">关联的变量表ID</param>
|
||||
public VariableChangedEventArgs(DataChangeType changeType, int variableId, string variableName, int variableTableId)
|
||||
/// <param name="variable">变量DTO</param>
|
||||
/// <param name="variableTable">关联的变量表DTO</param>
|
||||
public VariableChangedEventArgs(DataChangeType changeType, VariableDto variable, VariableTableDto variableTable)
|
||||
{
|
||||
ChangeType = changeType;
|
||||
VariableId = variableId;
|
||||
VariableName = variableName;
|
||||
VariableTableId = variableTableId;
|
||||
Variable = variable;
|
||||
VariableTable = variableTable;
|
||||
ChangeTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,19 +13,14 @@ namespace DMS.Application.DTOs.Events
|
||||
public DataChangeType ChangeType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量表ID
|
||||
/// 变量表DTO
|
||||
/// </summary>
|
||||
public int VariableTableId { get; }
|
||||
public VariableTableDto VariableTable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量表名称
|
||||
/// 关联的设备DTO
|
||||
/// </summary>
|
||||
public string VariableTableName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的设备ID
|
||||
/// </summary>
|
||||
public int DeviceId { get; }
|
||||
public DeviceDto Device { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 变更时间
|
||||
@@ -36,15 +31,13 @@ namespace DMS.Application.DTOs.Events
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="changeType">变更类型</param>
|
||||
/// <param name="variableTableId">变量表ID</param>
|
||||
/// <param name="variableTableName">变量表名称</param>
|
||||
/// <param name="deviceId">关联的设备ID</param>
|
||||
public VariableTableChangedEventArgs(DataChangeType changeType, int variableTableId, string variableTableName, int deviceId)
|
||||
/// <param name="variableTable">变量表DTO</param>
|
||||
/// <param name="device">关联的设备DTO</param>
|
||||
public VariableTableChangedEventArgs(DataChangeType changeType, VariableTableDto variableTable, DeviceDto device)
|
||||
{
|
||||
ChangeType = changeType;
|
||||
VariableTableId = variableTableId;
|
||||
VariableTableName = variableTableName;
|
||||
DeviceId = deviceId;
|
||||
VariableTable = variableTable;
|
||||
Device = device;
|
||||
ChangeTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
if (Devices.TryAdd(deviceDto.Id, deviceDto))
|
||||
{
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Added, deviceDto.Id, deviceDto.Name));
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Added, deviceDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public class DataCenterService : IDataCenterService
|
||||
public void UpdateDeviceInMemory(DeviceDto deviceDto)
|
||||
{
|
||||
Devices.AddOrUpdate(deviceDto.Id, deviceDto, (key, oldValue) => deviceDto);
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Updated, deviceDto.Id, deviceDto.Name));
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Updated, deviceDto));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -167,7 +167,7 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
if (Devices.TryRemove(deviceId, out var deviceDto))
|
||||
{
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Deleted, deviceId, deviceDto?.Name ?? ""));
|
||||
OnDeviceChanged(new DeviceChangedEventArgs(DataChangeType.Deleted, deviceDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,13 +220,18 @@ public class DataCenterService : IDataCenterService
|
||||
/// </summary>
|
||||
public void AddVariableTableToMemory(VariableTableDto variableTableDto)
|
||||
{
|
||||
DeviceDto deviceDto = null;
|
||||
if (Devices.TryGetValue(variableTableDto.DeviceId, out var device))
|
||||
{
|
||||
deviceDto = device;
|
||||
}
|
||||
|
||||
if (VariableTables.TryAdd(variableTableDto.Id, variableTableDto))
|
||||
{
|
||||
OnVariableTableChanged(new VariableTableChangedEventArgs(
|
||||
DataChangeType.Added,
|
||||
variableTableDto.Id,
|
||||
variableTableDto.Name,
|
||||
variableTableDto.DeviceId));
|
||||
variableTableDto,
|
||||
deviceDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,12 +240,17 @@ public class DataCenterService : IDataCenterService
|
||||
/// </summary>
|
||||
public void UpdateVariableTableInMemory(VariableTableDto variableTableDto)
|
||||
{
|
||||
DeviceDto deviceDto = null;
|
||||
if (Devices.TryGetValue(variableTableDto.DeviceId, out var device))
|
||||
{
|
||||
deviceDto = device;
|
||||
}
|
||||
|
||||
VariableTables.AddOrUpdate(variableTableDto.Id, variableTableDto, (key, oldValue) => variableTableDto);
|
||||
OnVariableTableChanged(new VariableTableChangedEventArgs(
|
||||
DataChangeType.Updated,
|
||||
variableTableDto.Id,
|
||||
variableTableDto.Name,
|
||||
variableTableDto.DeviceId));
|
||||
variableTableDto,
|
||||
deviceDto));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -250,11 +260,16 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
if (VariableTables.TryRemove(variableTableId, out var variableTableDto))
|
||||
{
|
||||
DeviceDto deviceDto = null;
|
||||
if (variableTableDto != null && Devices.TryGetValue(variableTableDto.DeviceId, out var device))
|
||||
{
|
||||
deviceDto = device;
|
||||
}
|
||||
|
||||
OnVariableTableChanged(new VariableTableChangedEventArgs(
|
||||
DataChangeType.Deleted,
|
||||
variableTableId,
|
||||
variableTableDto?.Name ?? "",
|
||||
variableTableDto?.DeviceId ?? 0));
|
||||
variableTableDto,
|
||||
deviceDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,13 +362,18 @@ public class DataCenterService : IDataCenterService
|
||||
/// </summary>
|
||||
public void AddVariableToMemory(VariableDto variableDto)
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (VariableTables.TryGetValue(variableDto.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
if (Variables.TryAdd(variableDto.Id, variableDto))
|
||||
{
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Added,
|
||||
variableDto.Id,
|
||||
variableDto.Name,
|
||||
variableDto.VariableTableId));
|
||||
variableDto,
|
||||
variableTableDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -362,12 +382,17 @@ public class DataCenterService : IDataCenterService
|
||||
/// </summary>
|
||||
public void UpdateVariableInMemory(VariableDto variableDto)
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (VariableTables.TryGetValue(variableDto.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
Variables.AddOrUpdate(variableDto.Id, variableDto, (key, oldValue) => variableDto);
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Updated,
|
||||
variableDto.Id,
|
||||
variableDto.Name,
|
||||
variableDto.VariableTableId));
|
||||
variableDto,
|
||||
variableTableDto));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -377,11 +402,16 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
if (Variables.TryRemove(variableId, out var variableDto))
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (variableDto != null && VariableTables.TryGetValue(variableDto.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Deleted,
|
||||
variableId,
|
||||
variableDto?.Name ?? "",
|
||||
variableDto?.VariableTableId ?? 0));
|
||||
variableDto,
|
||||
variableTableDto));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,13 +422,18 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
foreach (var variable in variables)
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (VariableTables.TryGetValue(variable.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
if (Variables.TryAdd(variable.Id, variable))
|
||||
{
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Added,
|
||||
variable.Id,
|
||||
variable.Name,
|
||||
variable.VariableTableId));
|
||||
variable,
|
||||
variableTableDto));
|
||||
}
|
||||
}
|
||||
OnDataChanged(new DataChangedEventArgs(DataChangeType.BatchOperation));
|
||||
@@ -411,12 +446,17 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
foreach (var variable in variables)
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (VariableTables.TryGetValue(variable.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
Variables.AddOrUpdate(variable.Id, variable, (key, oldValue) => variable);
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Updated,
|
||||
variable.Id,
|
||||
variable.Name,
|
||||
variable.VariableTableId));
|
||||
variable,
|
||||
variableTableDto));
|
||||
}
|
||||
OnDataChanged(new DataChangedEventArgs(DataChangeType.BatchOperation));
|
||||
}
|
||||
@@ -430,11 +470,16 @@ public class DataCenterService : IDataCenterService
|
||||
{
|
||||
if (Variables.TryRemove(variableId, out var variableDto))
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (variableDto != null && VariableTables.TryGetValue(variableDto.VariableTableId, out var variableTable))
|
||||
{
|
||||
variableTableDto = variableTable;
|
||||
}
|
||||
|
||||
OnVariableChanged(new VariableChangedEventArgs(
|
||||
DataChangeType.Deleted,
|
||||
variableId,
|
||||
variableDto?.Name ?? "",
|
||||
variableDto?.VariableTableId ?? 0));
|
||||
variableDto,
|
||||
variableTableDto));
|
||||
}
|
||||
}
|
||||
OnDataChanged(new DataChangedEventArgs(DataChangeType.BatchOperation));
|
||||
@@ -551,15 +596,20 @@ public class DataCenterService : IDataCenterService
|
||||
|
||||
// 触发数据加载完成事件
|
||||
OnDataLoadCompleted(new DataLoadCompletedEventArgs(
|
||||
deviceDtos.Count,
|
||||
variableTableDtos.Count,
|
||||
variableDtos.Count,
|
||||
deviceDtos,
|
||||
variableTableDtos,
|
||||
variableDtos,
|
||||
true));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 触发数据加载失败事件
|
||||
OnDataLoadCompleted(new DataLoadCompletedEventArgs(0, 0, 0, false, ex.Message));
|
||||
OnDataLoadCompleted(new DataLoadCompletedEventArgs(
|
||||
new List<DeviceDto>(),
|
||||
new List<VariableTableDto>(),
|
||||
new List<VariableDto>(),
|
||||
false,
|
||||
ex.Message));
|
||||
throw new ApplicationException($"加载所有数据到内存时发生错误,错误信息:{ex.Message}", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ namespace DMS.Infrastructure.UnitTests
|
||||
{
|
||||
// Arrange
|
||||
var mockRepositoryManager = new Mock<IRepositoryManager>();
|
||||
var mockMapper = new Mock<IMapper>();
|
||||
var mockDeviceAppService = new Mock<IDeviceAppService>();
|
||||
var mockVariableTableAppService = new Mock<IVariableTableAppService>();
|
||||
var mockVariableAppService = new Mock<IVariableAppService>();
|
||||
@@ -25,7 +24,7 @@ namespace DMS.Infrastructure.UnitTests
|
||||
// Act
|
||||
var dataCenterService = new DataCenterService(
|
||||
mockRepositoryManager.Object,
|
||||
mockMapper.Object,
|
||||
null, // 在测试中不会使用到mapper
|
||||
mockDeviceAppService.Object,
|
||||
mockVariableTableAppService.Object,
|
||||
mockVariableAppService.Object);
|
||||
@@ -39,7 +38,6 @@ namespace DMS.Infrastructure.UnitTests
|
||||
{
|
||||
// Arrange
|
||||
var mockRepositoryManager = new Mock<IRepositoryManager>();
|
||||
var mockMapper = new Mock<IMapper>();
|
||||
var mockDeviceAppService = new Mock<IDeviceAppService>();
|
||||
var mockVariableTableAppService = new Mock<IVariableTableAppService>();
|
||||
var mockVariableAppService = new Mock<IVariableAppService>();
|
||||
@@ -47,7 +45,7 @@ namespace DMS.Infrastructure.UnitTests
|
||||
// Act
|
||||
var dataCenterService = new DataCenterService(
|
||||
mockRepositoryManager.Object,
|
||||
mockMapper.Object,
|
||||
null, // 在测试中不会使用到mapper
|
||||
mockDeviceAppService.Object,
|
||||
mockVariableTableAppService.Object,
|
||||
mockVariableAppService.Object);
|
||||
@@ -169,8 +167,7 @@ namespace DMS.Infrastructure.UnitTests
|
||||
// Assert
|
||||
Assert.NotNull(eventArgs);
|
||||
Assert.Equal(DataChangeType.Added, eventArgs.ChangeType);
|
||||
Assert.Equal(1, eventArgs.DeviceId);
|
||||
Assert.Equal("Test Device", eventArgs.DeviceName);
|
||||
Assert.Equal(deviceDto, eventArgs.Device);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user