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防止空引用异常
68 lines
2.0 KiB
C#
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>();
|
|
|
|
}
|
|
|
|
}
|
|
|