refactor:将DataLoaderService中的LoadAll*Async方法移到对应的管理服务中
- 将LoadAllDevicesAsync方法移到DeviceManagementService - 将LoadAllVariableTablesAsync方法移到VariableTableManagementService - 将LoadAllVariablesAsync方法移到VariableManagementService - 将LoadAllMenusAsync方法移到MenuManagementService - 将LoadAllMqttServersAsync方法移到MqttManagementService - 将LoadAllNlogsAsync方法移到LogManagementService - 更新DataLoaderService以使用管理服务提供的方法 - 修改IDataLoaderService接口以移除这些方法 - 保持与LoadAllTriggersAsync相同的模式 - 遵循单一职责原则,提高代码一致性" (提交修改并添加描述性的提交信息)
This commit is contained in:
@@ -128,7 +128,20 @@ public class DeviceManagementService : IDeviceManagementService
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有设备数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllDevicesAsync()
|
||||
{
|
||||
_appStorageService.Devices.Clear();
|
||||
var devices = await _deviceAppService.GetAllDevicesAsync();
|
||||
|
||||
// 建立设备与变量表的关联
|
||||
foreach (var device in devices)
|
||||
{
|
||||
// 将设备添加到安全字典
|
||||
_appStorageService.Devices.TryAdd(device.Id, device);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -89,5 +89,18 @@ public class LogManagementService : ILogManagementService
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有日志数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllNlogsAsync(int count)
|
||||
{
|
||||
_appStorageService.Nlogs.Clear();
|
||||
var nlogDtos = await _nlogAppService.GetLatestLogsAsync(count);
|
||||
// 加载日志数据到内存
|
||||
foreach (var nlogDto in nlogDtos)
|
||||
{
|
||||
_appStorageService.Nlogs.TryAdd(nlogDto.Id, nlogDto);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -160,4 +160,19 @@ public class MenuManagementService : IMenuManagementService
|
||||
{
|
||||
_eventService.RaiseMenuChanged(this, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有菜单数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllMenusAsync()
|
||||
{
|
||||
_appStorageService.Menus.Clear();
|
||||
_appStorageService.MenuTrees.Clear();
|
||||
var menus = await _menuService.GetAllMenusAsync();
|
||||
// 将菜单添加到安全字典
|
||||
foreach (var menuBean in menus)
|
||||
{
|
||||
_appStorageService.Menus.TryAdd(menuBean.Id, menuBean);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -233,4 +233,18 @@ public class MqttManagementService : IMqttManagementService
|
||||
|
||||
return changedProperties;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有MQTT服务器数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllMqttServersAsync()
|
||||
{
|
||||
_appStorageService.MqttServers.Clear();
|
||||
var mqttServers = await _mqttAppService.GetAllMqttServersAsync();
|
||||
// 加载MQTT服务器数据到内存
|
||||
foreach (var mqttServer in mqttServers)
|
||||
{
|
||||
_appStorageService.MqttServers.TryAdd(mqttServer.Id, mqttServer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,8 @@ namespace DMS.Application.Services.Management
|
||||
_appStorageService.Triggers.TryGetValue(id, out var trigger);
|
||||
return trigger;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 创建一个新的触发器定义
|
||||
/// </summary>
|
||||
@@ -125,6 +126,9 @@ namespace DMS.Application.Services.Management
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有触发器数据
|
||||
/// </summary>
|
||||
public async Task LoadAllTriggersAsync()
|
||||
{
|
||||
_appStorageService.Triggers.Clear();
|
||||
|
||||
@@ -275,4 +275,26 @@ public class VariableManagementService : IVariableManagementService
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有变量数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllVariablesAsync()
|
||||
{
|
||||
_appStorageService.Variables.Clear();
|
||||
|
||||
var variables = await _variableAppService.GetAllVariablesAsync();
|
||||
// 将变量添加到安全字典
|
||||
foreach (var variable in variables)
|
||||
{
|
||||
if (_appStorageService.VariableTables.TryGetValue(variable.VariableTableId,
|
||||
out var variableTable))
|
||||
{
|
||||
variable.VariableTable = variableTable;
|
||||
variableTable.Variables.Add(variable);
|
||||
}
|
||||
|
||||
_appStorageService.Variables.TryAdd(variable.Id, variable);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -131,6 +131,27 @@ public class VariableTableManagementService : IVariableTableManagementService
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载所有变量表数据到内存中。
|
||||
/// </summary>
|
||||
public async Task LoadAllVariableTablesAsync()
|
||||
{
|
||||
_appStorageService.VariableTables.Clear();
|
||||
var variableTables = await _variableTableAppService.GetAllVariableTablesAsync();
|
||||
// 建立变量表与变量的关联
|
||||
foreach (var variableTable in variableTables)
|
||||
{
|
||||
if (_appStorageService.Devices.TryGetValue(variableTable.DeviceId, out var device))
|
||||
{
|
||||
variableTable.Device = device;
|
||||
if (device.VariableTables == null)
|
||||
device.VariableTables = new List<VariableTable>();
|
||||
device.VariableTables.Add(variableTable);
|
||||
}
|
||||
|
||||
// 将变量表添加到安全字典
|
||||
_appStorageService.VariableTables.TryAdd(variableTable.Id, variableTable);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user