refactor:将DataLoaderService中的LoadAll*Async方法移到对应的管理服务中
- 将LoadAllDevicesAsync方法移到DeviceManagementService - 将LoadAllVariableTablesAsync方法移到VariableTableManagementService - 将LoadAllVariablesAsync方法移到VariableManagementService - 将LoadAllMenusAsync方法移到MenuManagementService - 将LoadAllMqttServersAsync方法移到MqttManagementService - 将LoadAllNlogsAsync方法移到LogManagementService - 更新DataLoaderService以使用管理服务提供的方法 - 修改IDataLoaderService接口以移除这些方法 - 保持与LoadAllTriggersAsync相同的模式 - 遵循单一职责原则,提高代码一致性" (提交修改并添加描述性的提交信息)
This commit is contained in:
@@ -14,35 +14,5 @@ public interface IDataLoaderService
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Task LoadAllDataToMemoryAsync();
|
Task LoadAllDataToMemoryAsync();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有设备数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllDevicesAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有变量表数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllVariableTablesAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有变量数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllVariablesAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有菜单数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllMenusAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有MQTT服务器数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllMqttServersAsync();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有日志数据
|
|
||||||
/// </summary>
|
|
||||||
Task LoadAllNlogsAsync(int count);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ namespace DMS.Application.Interfaces.Management;
|
|||||||
|
|
||||||
public interface IDeviceManagementService
|
public interface IDeviceManagementService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步根据ID获取设备DTO。
|
/// 异步根据ID获取设备DTO。
|
||||||
@@ -35,7 +35,9 @@ public interface IDeviceManagementService
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Task ToggleDeviceActiveStateAsync(int id);
|
Task ToggleDeviceActiveStateAsync(int id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有设备数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllDevicesAsync();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -44,4 +44,9 @@ public interface ILogManagementService
|
|||||||
/// 当日志数据发生变化时触发
|
/// 当日志数据发生变化时触发
|
||||||
/// </summary>
|
/// </summary>
|
||||||
event EventHandler<NlogChangedEventArgs> OnLogChanged;
|
event EventHandler<NlogChangedEventArgs> OnLogChanged;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有日志数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllNlogsAsync(int count);
|
||||||
}
|
}
|
||||||
@@ -50,4 +50,9 @@ public interface IMenuManagementService
|
|||||||
/// 当菜单数据发生变化时触发
|
/// 当菜单数据发生变化时触发
|
||||||
/// </summary>
|
/// </summary>
|
||||||
event EventHandler<DMS.Application.Events.MenuChangedEventArgs> MenuChanged;
|
event EventHandler<DMS.Application.Events.MenuChangedEventArgs> MenuChanged;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有菜单数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllMenusAsync();
|
||||||
}
|
}
|
||||||
@@ -19,4 +19,9 @@ public interface IMqttManagementService
|
|||||||
Task<MqttServer> GetMqttServerByIdAsync(int id);
|
Task<MqttServer> GetMqttServerByIdAsync(int id);
|
||||||
Task<int> UpdateMqttServerAsync(MqttServer mqttServer);
|
Task<int> UpdateMqttServerAsync(MqttServer mqttServer);
|
||||||
Task<int> UpdateMqttServersAsync(List<MqttServer> mqttServers);
|
Task<int> UpdateMqttServersAsync(List<MqttServer> mqttServers);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有MQTT服务器数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllMqttServersAsync();
|
||||||
}
|
}
|
||||||
@@ -49,5 +49,10 @@ namespace DMS.Application.Interfaces.Management
|
|||||||
/// <param name="variableId">变量 ID</param>
|
/// <param name="variableId">变量 ID</param>
|
||||||
/// <returns>该变量关联的触发器定义列表</returns>
|
/// <returns>该变量关联的触发器定义列表</returns>
|
||||||
Task<List<TriggerDefinition>> GetTriggersForVariableAsync(int variableId);
|
Task<List<TriggerDefinition>> GetTriggersForVariableAsync(int variableId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有触发器数据
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllTriggersAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -50,4 +50,9 @@ public interface IVariableManagementService
|
|||||||
/// 查找已存在的变量。
|
/// 查找已存在的变量。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task<List<Variable>> FindExistingVariablesAsync(IEnumerable<Variable> variablesToCheck);
|
Task<List<Variable>> FindExistingVariablesAsync(IEnumerable<Variable> variablesToCheck);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有变量数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllVariablesAsync();
|
||||||
}
|
}
|
||||||
@@ -30,4 +30,9 @@ public interface IVariableTableManagementService
|
|||||||
/// 异步删除一个变量表。
|
/// 异步删除一个变量表。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Task<bool> DeleteVariableTableAsync(int id);
|
Task<bool> DeleteVariableTableAsync(int id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有变量表数据到内存中。
|
||||||
|
/// </summary>
|
||||||
|
Task LoadAllVariableTablesAsync();
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
using AutoMapper;
|
|
||||||
using DMS.Application.Interfaces;
|
using DMS.Application.Interfaces;
|
||||||
using DMS.Core.Interfaces;
|
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using DMS.Application.Events;
|
using DMS.Application.Events;
|
||||||
using DMS.Application.Interfaces.Database;
|
|
||||||
using DMS.Application.Interfaces.Management;
|
using DMS.Application.Interfaces.Management;
|
||||||
using DMS.Application.Services.Management;
|
using DMS.Application.Services.Management;
|
||||||
using DMS.Core.Models;
|
using DMS.Core.Models;
|
||||||
@@ -17,48 +14,38 @@ namespace DMS.Application.Services;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class DataLoaderService : IDataLoaderService
|
public class DataLoaderService : IDataLoaderService
|
||||||
{
|
{
|
||||||
private readonly IRepositoryManager _repositoryManager;
|
private readonly IMqttManagementService _mqttManagementService;
|
||||||
private readonly IMapper _mapper;
|
|
||||||
private readonly IAppStorageService _appStorageService;
|
|
||||||
private readonly IDeviceAppService _deviceAppService;
|
|
||||||
private readonly IVariableTableAppService _variableTableAppService;
|
|
||||||
private readonly IVariableAppService _variableAppService;
|
|
||||||
private readonly IMenuAppService _menuService;
|
|
||||||
private readonly IMqttAppService _mqttAppService;
|
|
||||||
private readonly INlogAppService _nlogAppService;
|
|
||||||
private readonly IMqttAliasManagementService _mqttAliasManagementService;
|
private readonly IMqttAliasManagementService _mqttAliasManagementService;
|
||||||
private readonly ITriggerManagementService _triggerManagementService; // 添加触发器管理服务
|
private readonly ITriggerManagementService _triggerManagementService; // 添加触发器管理服务
|
||||||
private readonly IEventService _eventService; // 添加事件服务
|
private readonly IEventService _eventService; // 添加事件服务
|
||||||
|
private readonly IDeviceManagementService _deviceManagementService; // 添加设备管理服务
|
||||||
|
private readonly IVariableTableManagementService _variableTableManagementService; // 添加变量表管理服务
|
||||||
|
private readonly IVariableManagementService _variableManagementService; // 添加变量管理服务
|
||||||
|
private readonly IMenuManagementService _menuManagementService; // 添加菜单管理服务
|
||||||
|
private readonly ILogManagementService _logManagementService; // 添加日志管理服务
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public const int LoadLogCount =100;
|
public const int LoadLogCount =100;
|
||||||
public DataLoaderService(
|
public DataLoaderService(IMqttManagementService mqttManagementService,
|
||||||
IRepositoryManager repositoryManager,
|
IMqttAliasManagementService mqttAliasManagementService,
|
||||||
IMapper mapper,
|
ITriggerManagementService triggerManagementService, // 添加触发器管理服务参数
|
||||||
IAppStorageService appStorageService,
|
IEventService eventService, // 添加事件服务参数
|
||||||
IDeviceAppService deviceAppService,
|
IDeviceManagementService deviceManagementService, // 添加设备管理服务参数
|
||||||
IVariableTableAppService variableTableAppService,
|
IVariableTableManagementService variableTableManagementService, // 添加变量表管理服务参数
|
||||||
IVariableAppService variableAppService,
|
IVariableManagementService variableManagementService, // 添加变量管理服务参数
|
||||||
IMenuAppService menuService,
|
IMenuManagementService menuManagementService, // 添加菜单管理服务参数
|
||||||
IMqttAppService mqttAppService,
|
ILogManagementService logManagementService) // 添加日志管理服务参数
|
||||||
INlogAppService nlogAppService,
|
|
||||||
IMqttAliasManagementService mqttAliasManagementService,
|
|
||||||
ITriggerManagementService triggerManagementService, // 添加触发器管理服务参数
|
|
||||||
IEventService eventService) // 添加事件服务参数
|
|
||||||
{
|
{
|
||||||
_repositoryManager = repositoryManager;
|
_mqttManagementService = mqttManagementService;
|
||||||
_mapper = mapper;
|
_mqttAliasManagementService = mqttAliasManagementService;
|
||||||
_appStorageService = appStorageService;
|
|
||||||
_deviceAppService = deviceAppService;
|
|
||||||
_variableTableAppService = variableTableAppService;
|
|
||||||
_variableAppService = variableAppService;
|
|
||||||
_menuService = menuService;
|
|
||||||
_mqttAppService = mqttAppService;
|
|
||||||
_nlogAppService = nlogAppService;
|
|
||||||
this._mqttAliasManagementService = mqttAliasManagementService;
|
|
||||||
_triggerManagementService = triggerManagementService; // 初始化触发器管理服务
|
_triggerManagementService = triggerManagementService; // 初始化触发器管理服务
|
||||||
_eventService = eventService; // 初始化事件服务
|
_eventService = eventService; // 初始化事件服务
|
||||||
|
_deviceManagementService = deviceManagementService; // 初始化设备管理服务
|
||||||
|
_variableTableManagementService = variableTableManagementService; // 初始化变量表管理服务
|
||||||
|
_variableManagementService = variableManagementService; // 初始化变量管理服务
|
||||||
|
_menuManagementService = menuManagementService; // 初始化菜单管理服务
|
||||||
|
_logManagementService = logManagementService; // 初始化日志管理服务
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -68,149 +55,27 @@ public class DataLoaderService : IDataLoaderService
|
|||||||
public async Task LoadAllDataToMemoryAsync()
|
public async Task LoadAllDataToMemoryAsync()
|
||||||
{
|
{
|
||||||
|
|
||||||
await LoadAllDevicesAsync();
|
await _deviceManagementService.LoadAllDevicesAsync();
|
||||||
|
|
||||||
await LoadAllVariableTablesAsync();
|
await _variableTableManagementService.LoadAllVariableTablesAsync();
|
||||||
|
|
||||||
await LoadAllVariablesAsync();
|
await _variableManagementService.LoadAllVariablesAsync();
|
||||||
// 加载所有菜单
|
// 加载所有菜单
|
||||||
await LoadAllMenusAsync();
|
await _menuManagementService.LoadAllMenusAsync();
|
||||||
|
|
||||||
// 加载所有MQTT服务器
|
// 加载所有MQTT服务器
|
||||||
await LoadAllMqttServersAsync();
|
await _mqttManagementService.LoadAllMqttServersAsync();
|
||||||
|
|
||||||
// 加载所有日志
|
// 加载所有日志
|
||||||
await LoadAllNlogsAsync(LoadLogCount);
|
await _logManagementService.LoadAllNlogsAsync(LoadLogCount);
|
||||||
|
|
||||||
// 获取变量MQTT别名
|
// 获取变量MQTT别名
|
||||||
await _mqttAliasManagementService.LoadAllMqttAliasAsync();
|
await _mqttAliasManagementService.LoadAllMqttAliasAsync();
|
||||||
|
|
||||||
// 加载所有触发器
|
// 加载所有触发器
|
||||||
await LoadAllTriggersAsync();
|
await _triggerManagementService.LoadAllTriggersAsync();
|
||||||
|
|
||||||
_eventService.RaiseLoadDataCompleted(this, new DataLoadCompletedEventArgs(true, "数据加载成功"));
|
_eventService.RaiseLoadDataCompleted(this, new DataLoadCompletedEventArgs(true, "数据加载成功"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有触发器数据
|
|
||||||
/// </summary>
|
|
||||||
public async Task LoadAllTriggersAsync()
|
|
||||||
{
|
|
||||||
_appStorageService.Triggers.Clear();
|
|
||||||
var triggers = _triggerManagementService.GetAllTriggersAsync();
|
|
||||||
// 加载触发器数据到内存
|
|
||||||
foreach (var trigger in triggers)
|
|
||||||
{
|
|
||||||
_appStorageService.Triggers.TryAdd(trigger.Id, trigger);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有设备数据
|
|
||||||
/// </summary>
|
|
||||||
public async Task LoadAllDevicesAsync()
|
|
||||||
{
|
|
||||||
_appStorageService.Devices.Clear();
|
|
||||||
var devices = await _repositoryManager.Devices.GetAllAsync();
|
|
||||||
var devicesDtos = _mapper.Map<List<Device>>(devices);
|
|
||||||
|
|
||||||
// 建立设备与变量表的关联
|
|
||||||
foreach (var deviceDto in devicesDtos)
|
|
||||||
{
|
|
||||||
// 将设备添加到安全字典
|
|
||||||
_appStorageService.Devices.TryAdd(deviceDto.Id, deviceDto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有变量表数据
|
|
||||||
/// </summary>
|
|
||||||
public async Task LoadAllVariableTablesAsync()
|
|
||||||
{
|
|
||||||
_appStorageService.VariableTables.Clear();
|
|
||||||
var variableTables = await _repositoryManager.VariableTables.GetAllAsync();
|
|
||||||
var variableTableDtos = _mapper.Map<List<VariableTable>>(variableTables);
|
|
||||||
// 建立变量表与变量的关联
|
|
||||||
foreach (var variableTableDto in variableTableDtos)
|
|
||||||
{
|
|
||||||
if (_appStorageService.Devices.TryGetValue(variableTableDto.DeviceId, out var deviceDto))
|
|
||||||
{
|
|
||||||
variableTableDto.Device = deviceDto;
|
|
||||||
variableTableDto.Device.VariableTables.Add(variableTableDto);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将变量表添加到安全字典
|
|
||||||
_appStorageService.VariableTables.TryAdd(variableTableDto.Id, variableTableDto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有变量数据
|
|
||||||
/// </summary>
|
|
||||||
public async Task LoadAllVariablesAsync()
|
|
||||||
{
|
|
||||||
_appStorageService.Variables.Clear();
|
|
||||||
|
|
||||||
var variables = await _repositoryManager.Variables.GetAllAsync();
|
|
||||||
var variableDtos = _mapper.Map<List<Variable>>(variables);
|
|
||||||
// 将变量添加到安全字典
|
|
||||||
foreach (var variableDto in variableDtos)
|
|
||||||
{
|
|
||||||
if (_appStorageService.VariableTables.TryGetValue(variableDto.VariableTableId,
|
|
||||||
out var variableTableDto))
|
|
||||||
{
|
|
||||||
variableDto.VariableTable = variableTableDto;
|
|
||||||
variableDto.VariableTable.Variables.Add(variableDto);
|
|
||||||
}
|
|
||||||
|
|
||||||
_appStorageService.Variables.TryAdd(variableDto.Id, variableDto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 异步加载所有菜单数据
|
|
||||||
/// </summary>
|
|
||||||
public async Task LoadAllMenusAsync()
|
|
||||||
{
|
|
||||||
_appStorageService.Menus.Clear();
|
|
||||||
_appStorageService.MenuTrees.Clear();
|
|
||||||
var menus = await _repositoryManager.Menus.GetAllAsync();
|
|
||||||
// 将菜单添加到安全字典
|
|
||||||
foreach (var menuBean in menus)
|
|
||||||
{
|
|
||||||
_appStorageService.Menus.TryAdd(menuBean.Id, menuBean);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -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);
|
_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;
|
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);
|
_appStorageService.Triggers.TryGetValue(id, out var trigger);
|
||||||
return trigger;
|
return trigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建一个新的触发器定义
|
/// 创建一个新的触发器定义
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -125,6 +126,9 @@ namespace DMS.Application.Services.Management
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 异步加载所有触发器数据
|
||||||
|
/// </summary>
|
||||||
public async Task LoadAllTriggersAsync()
|
public async Task LoadAllTriggersAsync()
|
||||||
{
|
{
|
||||||
_appStorageService.Triggers.Clear();
|
_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