refactor:完成变量表的重构添加,删除,更新
This commit is contained in:
@@ -11,6 +11,8 @@ using DMS.Core.Models;
|
||||
using DMS.Message;
|
||||
using DMS.WPF.Interfaces;
|
||||
using DMS.WPF.ItemViewModel;
|
||||
using DMS.WPF.Services.ViewService;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DMS.WPF.Services;
|
||||
@@ -32,8 +34,9 @@ public class DataEventService : IDataEventService
|
||||
/// DataEventService类的构造函数。
|
||||
/// </summary>
|
||||
public DataEventService(IMapper mapper,
|
||||
IViewDataService dataStorageService,
|
||||
IViewDataService dataStorageService,
|
||||
IEventService eventService,
|
||||
|
||||
INotificationService notificationService,
|
||||
IAppCenterService appCenterService,
|
||||
IViewCenterService wpfDataService,
|
||||
@@ -46,16 +49,16 @@ public class DataEventService : IDataEventService
|
||||
_appCenterService = appCenterService;
|
||||
_wpfDataService = wpfDataService;
|
||||
_logger = logger;
|
||||
|
||||
|
||||
_logger?.LogInformation("正在初始化 DataEventService");
|
||||
|
||||
|
||||
// 监听变量值变更事件
|
||||
_eventService.OnVariableValueChanged += OnVariableValueChanged;
|
||||
_eventService.OnMqttServerChanged += OnMqttServerChanged;
|
||||
_eventService.OnLoadDataCompleted += OnLoadDataCompleted;
|
||||
// 监听日志变更事件
|
||||
// _appCenterService.OnLogChanged += _logDataService.OnNlogChanged;
|
||||
|
||||
|
||||
_logger?.LogInformation("DataEventService 初始化完成");
|
||||
}
|
||||
|
||||
@@ -81,7 +84,7 @@ public class DataEventService : IDataEventService
|
||||
case MqttServerPropertyType.Port:
|
||||
break;
|
||||
case MqttServerPropertyType.IsConnect:
|
||||
mqttServerItem.IsConnect=e.MqttServer.IsConnect;
|
||||
mqttServerItem.IsConnect = e.MqttServer.IsConnect;
|
||||
break;
|
||||
case MqttServerPropertyType.Username:
|
||||
break;
|
||||
@@ -119,37 +122,41 @@ public class DataEventService : IDataEventService
|
||||
|
||||
}
|
||||
|
||||
private void OnLoadDataCompleted(object? sender, DataLoadCompletedEventArgs e)
|
||||
private void OnLoadDataCompleted(object? sender, DataLoadCompletedEventArgs e)
|
||||
{
|
||||
_logger?.LogDebug("接收到数据加载完成事件,成功: {IsSuccess}", e.IsSuccess);
|
||||
|
||||
|
||||
if (e.IsSuccess)
|
||||
{
|
||||
_logger?.LogInformation("开始加载所有数据项");
|
||||
|
||||
|
||||
_wpfDataService.DeviceDataService.LoadAllDevices();
|
||||
_logger?.LogDebug("设备数据加载完成");
|
||||
|
||||
_wpfDataService.VariableTableDataService.LoadAllVariableTables();
|
||||
|
||||
var variableTableViewService = App.Current.Services.GetRequiredService<IVariableTableViewService>();
|
||||
if (variableTableViewService is not null)
|
||||
{
|
||||
variableTableViewService.LoadAllVariableTables();
|
||||
}
|
||||
_logger?.LogDebug("变量表数据加载完成");
|
||||
|
||||
|
||||
_wpfDataService.VariableDataService.LoadAllVariables();
|
||||
_logger?.LogDebug("变量数据加载完成");
|
||||
|
||||
|
||||
_wpfDataService.MenuDataService.LoadAllMenus();
|
||||
_logger?.LogDebug("菜单数据加载完成");
|
||||
|
||||
|
||||
_wpfDataService.MqttDataService.LoadMqttServers();
|
||||
_logger?.LogDebug("MQTT服务器数据加载完成");
|
||||
|
||||
|
||||
_wpfDataService.MqttAliasDataService.LoadMqttAliases();
|
||||
_logger?.LogDebug("MQTT别名加载完成");
|
||||
_wpfDataService.TriggerDataService.LoadAllTriggers();
|
||||
_logger?.LogDebug("触发器加载完成");
|
||||
|
||||
|
||||
_wpfDataService.LogDataService.LoadAllLog();
|
||||
_logger?.LogDebug("日志数据加载完成");
|
||||
|
||||
|
||||
_logger?.LogInformation("所有数据项加载完成");
|
||||
}
|
||||
else
|
||||
@@ -163,14 +170,14 @@ public class DataEventService : IDataEventService
|
||||
/// </summary>
|
||||
private void OnVariableValueChanged(object? sender, VariableValueChangedEventArgs e)
|
||||
{
|
||||
_logger?.LogDebug("接收到变量值变更事件,变量ID: {VariableId}, 新值: {NewValue}, 更新时间: {UpdateTime}",
|
||||
_logger?.LogDebug("接收到变量值变更事件,变量ID: {VariableId}, 新值: {NewValue}, 更新时间: {UpdateTime}",
|
||||
e.Variable.Id, e.Variable.DataValue, e.Variable.UpdatedAt);
|
||||
|
||||
|
||||
// 在UI线程上更新变量值
|
||||
App.Current.Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
// 查找并更新对应的变量
|
||||
if (_viewDataService.Variables.TryGetValue(e.Variable.Id,out var variableToUpdate))
|
||||
if (_viewDataService.Variables.TryGetValue(e.Variable.Id, out var variableToUpdate))
|
||||
{
|
||||
variableToUpdate.DataValue = e.Variable.DataValue;
|
||||
variableToUpdate.DisplayValue = e.Variable.DisplayValue;
|
||||
@@ -183,7 +190,7 @@ public class DataEventService : IDataEventService
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 处理LoadMessage消息。
|
||||
@@ -191,10 +198,10 @@ public class DataEventService : IDataEventService
|
||||
public async Task Receive(LoadMessage message)
|
||||
{
|
||||
_logger?.LogDebug("接收到LoadMessage消息,消息类型: {MessageType}", message.GetType().Name);
|
||||
|
||||
|
||||
// 这里可以添加加载消息处理的逻辑
|
||||
// 目前是空实现,但已记录接收到消息的信息
|
||||
|
||||
|
||||
_logger?.LogDebug("LoadMessage消息处理完成");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user