Files
DMS/DMS.WPF/Services/DataStorageService.cs
David P.G a6fc543e4f 1 feat(mqtt): 实现MQTT服务器状态管理与事件系统
2
    3 1. 在MqttServer和MqttServerDto模型中添加IsConnect属性,用于跟踪连接状态
    4 2. 重构MqttManagementService服务,使用事件驱动方式管理服务器状态变化
    5 3. 实现MqttServerChangedEventArgs事件参数类,支持区分不同变更类型
    6 4. 在IEventService中添加OnMqttServerChanged事件,实现事件通知机制
    7 5. 优化数据存储结构,将MqttServers从ObservableCollection改为ObservableDictionary
    8 6. 更新MqttServiceManager以正确处理连接状态和事件触发
    9 7. 在WPF层更新UI以响应服务器状态变化
   10 8. 删除不再需要的Helper类(DataServicesHelper, MessageHelper, SiemensHelper)
   11 9. 在NLog配置中添加调试器输出目标以便调试
   12 10. 完善VariableHistoryViewModel防止空引用异常
2025-10-05 00:28:25 +08:00

68 lines
2.0 KiB
C#

using System.Collections.ObjectModel;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels.Items;
using ObservableCollections;
namespace DMS.WPF.Services;
public class DataStorageService : IDataStorageService
{
/// <summary>
/// 设备列表。
/// </summary>
public ObservableDictionary<int,DeviceItemViewModel> Devices { get; set; }
/// <summary>
/// 设备列表。
/// </summary>
public new ObservableDictionary<int,VariableTableItemViewModel> VariableTables { get; set; }
/// <summary>
/// 变量数据列表。
/// </summary>
public ObservableDictionary<int,VariableItemViewModel> Variables { get; set; }
/// <summary>
/// MQTT服务器列表。
/// </summary>
public ObservableDictionary<int, MqttServerItemViewModel> MqttServers { get; set; }
/// <summary>
/// 菜单列表。
/// </summary>
public ObservableCollection<MenuItemViewModel> Menus { get; set; }
/// <summary>
/// 菜单树列表。
/// </summary>
public ObservableCollection<MenuItemViewModel> MenuTrees { get; set; }
/// <summary>
/// 日志列表。
/// </summary>
public ObservableCollection<NlogItemViewModel> Nlogs { get; set; }
/// <summary>
/// 触发器列表。
/// </summary>
public ObservableDictionary<int, TriggerItemViewModel> Triggers { get; set; }
public DataStorageService()
{
Devices=new ObservableDictionary<int,DeviceItemViewModel>();
VariableTables = new ObservableDictionary<int,VariableTableItemViewModel>();
Variables=new ObservableDictionary<int,VariableItemViewModel>();
MqttServers=new ObservableDictionary<int, MqttServerItemViewModel>();
Menus=new ObservableCollection<MenuItemViewModel>();
MenuTrees=new ObservableCollection<MenuItemViewModel>();
Nlogs=new ObservableCollection<NlogItemViewModel>();
Triggers = new ObservableDictionary<int, TriggerItemViewModel>();
}
}