修复变量值不更新的问题
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Application.DTOs.Events;
|
||||
|
||||
namespace DMS.Application.Services;
|
||||
|
||||
public interface ILogManagementService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取日志DTO。
|
||||
/// </summary>
|
||||
Task<NlogDto> GetNlogByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有日志DTO列表。
|
||||
/// </summary>
|
||||
Task<List<NlogDto>> GetAllNlogsAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取指定数量的最新日志DTO列表。
|
||||
/// </summary>
|
||||
Task<List<NlogDto>> GetLatestNlogsAsync(int count);
|
||||
|
||||
/// <summary>
|
||||
/// 异步清空所有日志。
|
||||
/// </summary>
|
||||
Task ClearAllNlogsAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中添加日志
|
||||
/// </summary>
|
||||
void AddNlogToMemory(NlogDto nlogDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中更新日志
|
||||
/// </summary>
|
||||
void UpdateNlogInMemory(NlogDto nlogDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中删除日志
|
||||
/// </summary>
|
||||
void RemoveNlogFromMemory(int nlogId);
|
||||
|
||||
/// <summary>
|
||||
/// 当日志数据发生变化时触发
|
||||
/// </summary>
|
||||
event EventHandler<NlogChangedEventArgs> OnLogChanged;
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Services;
|
||||
|
||||
public interface IMenuManagementService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步获取所有菜单DTO列表。
|
||||
/// </summary>
|
||||
Task<List<MenuBeanDto>> GetAllMenusAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步根据ID获取菜单DTO。
|
||||
/// </summary>
|
||||
Task<MenuBeanDto> GetMenuByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新菜单。
|
||||
/// </summary>
|
||||
Task<int> CreateMenuAsync(MenuBeanDto menuDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的菜单。
|
||||
/// </summary>
|
||||
Task UpdateMenuAsync(MenuBeanDto menuDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个菜单。
|
||||
/// </summary>
|
||||
Task DeleteMenuAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中添加菜单
|
||||
/// </summary>
|
||||
void AddMenuToMemory(MenuBeanDto menuDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中更新菜单
|
||||
/// </summary>
|
||||
void UpdateMenuInMemory(MenuBeanDto menuDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中删除菜单
|
||||
/// </summary>
|
||||
void RemoveMenuFromMemory(int menuId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取根菜单列表
|
||||
/// </summary>
|
||||
List<MenuBeanDto> GetRootMenus();
|
||||
|
||||
/// <summary>
|
||||
/// 根据父级ID获取子菜单列表
|
||||
/// </summary>
|
||||
/// <param name="parentId">父级菜单ID</param>
|
||||
/// <returns>子菜单列表</returns>
|
||||
List<MenuBeanDto> GetChildMenus(int parentId);
|
||||
|
||||
/// <summary>
|
||||
/// 构建菜单树结构
|
||||
/// </summary>
|
||||
void BuildMenuTree();
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
using DMS.Application.DTOs;
|
||||
|
||||
namespace DMS.Application.Services;
|
||||
|
||||
public interface IMqttManagementService
|
||||
{
|
||||
/// <summary>
|
||||
/// 异步根据ID获取MQTT服务器DTO。
|
||||
/// </summary>
|
||||
Task<MqttServerDto> GetMqttServerByIdAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 异步获取所有MQTT服务器DTO列表。
|
||||
/// </summary>
|
||||
Task<List<MqttServerDto>> GetAllMqttServersAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 异步创建一个新的MQTT服务器。
|
||||
/// </summary>
|
||||
Task<int> CreateMqttServerAsync(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步更新一个已存在的MQTT服务器。
|
||||
/// </summary>
|
||||
Task UpdateMqttServerAsync(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 异步删除一个MQTT服务器。
|
||||
/// </summary>
|
||||
Task DeleteMqttServerAsync(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中添加MQTT服务器
|
||||
/// </summary>
|
||||
void AddMqttServerToMemory(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中更新MQTT服务器
|
||||
/// </summary>
|
||||
void UpdateMqttServerInMemory(MqttServerDto mqttServerDto);
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中删除MQTT服务器
|
||||
/// </summary>
|
||||
void RemoveMqttServerFromMemory(int mqttServerId);
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Concurrent;
|
||||
using DMS.Application.DTOs;
|
||||
using DMS.Application.DTOs.Events;
|
||||
using DMS.Core.Models;
|
||||
|
||||
namespace DMS.Application.Services;
|
||||
|
||||
@@ -56,8 +57,15 @@ public interface IVariableManagementService
|
||||
/// </summary>
|
||||
void RemoveVariableFromMemory(int variableId, ConcurrentDictionary<int, VariableTableDto> variableTables);
|
||||
|
||||
void VariableValueChanged(VariableValueChangedEventArgs eventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// 当变量数据发生变化时触发
|
||||
/// </summary>
|
||||
event EventHandler<VariableChangedEventArgs> OnVariableChanged;
|
||||
|
||||
/// <summary>
|
||||
/// 当变量数据发生变化时触发
|
||||
/// </summary>
|
||||
event EventHandler<VariableValueChangedEventArgs> OnVariableValueChanged;
|
||||
}
|
||||
@@ -25,7 +25,13 @@ public class VariableManagementService : IVariableManagementService
|
||||
/// </summary>
|
||||
public event EventHandler<VariableChangedEventArgs> OnVariableChanged;
|
||||
|
||||
public VariableManagementService(IVariableAppService variableAppService,IAppDataStorageService appDataStorageService)
|
||||
/// <summary>
|
||||
/// 当变量数据发生变化时触发
|
||||
/// </summary>
|
||||
public event EventHandler<VariableValueChangedEventArgs> OnVariableValueChanged;
|
||||
|
||||
public VariableManagementService(IVariableAppService variableAppService,
|
||||
IAppDataStorageService appDataStorageService)
|
||||
{
|
||||
_variableAppService = variableAppService;
|
||||
_appDataStorageService = appDataStorageService;
|
||||
@@ -102,14 +108,16 @@ public class VariableManagementService : IVariableManagementService
|
||||
|
||||
if (_appDataStorageService.Variables.TryAdd(variableDto.Id, variableDto))
|
||||
{
|
||||
OnVariableChanged?.Invoke(this,new VariableChangedEventArgs(DataChangeType.Added, variableDto, variableTableDto));
|
||||
OnVariableChanged?.Invoke(
|
||||
this, new VariableChangedEventArgs(DataChangeType.Added, variableDto, variableTableDto));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在内存中更新变量
|
||||
/// </summary>
|
||||
public void UpdateVariableInMemory(VariableDto variableDto, ConcurrentDictionary<int, VariableTableDto> variableTables)
|
||||
public void UpdateVariableInMemory(VariableDto variableDto,
|
||||
ConcurrentDictionary<int, VariableTableDto> variableTables)
|
||||
{
|
||||
VariableTableDto variableTableDto = null;
|
||||
if (variableTables.TryGetValue(variableDto.VariableTableId, out var variableTable))
|
||||
@@ -118,7 +126,8 @@ public class VariableManagementService : IVariableManagementService
|
||||
}
|
||||
|
||||
_appDataStorageService.Variables.AddOrUpdate(variableDto.Id, variableDto, (key, oldValue) => variableDto);
|
||||
OnVariableChanged?.Invoke(this,new VariableChangedEventArgs(DataChangeType.Updated, variableDto, variableTableDto));
|
||||
OnVariableChanged?.Invoke(
|
||||
this, new VariableChangedEventArgs(DataChangeType.Updated, variableDto, variableTableDto));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -135,8 +144,13 @@ public class VariableManagementService : IVariableManagementService
|
||||
variableTable.Variables.Remove(variableDto);
|
||||
}
|
||||
|
||||
OnVariableChanged?.Invoke(this,new VariableChangedEventArgs(DataChangeType.Deleted, variableDto, variableTableDto));
|
||||
OnVariableChanged?.Invoke(
|
||||
this, new VariableChangedEventArgs(DataChangeType.Deleted, variableDto, variableTableDto));
|
||||
}
|
||||
}
|
||||
|
||||
public void VariableValueChanged(VariableValueChangedEventArgs eventArgs)
|
||||
{
|
||||
OnVariableValueChanged?.Invoke(this, eventArgs);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user