using DMS.Application.Events; using DMS.Application.Interfaces; using DMS.Core.Events; namespace DMS.Application.Services; /// /// 事件服务实现类,用于统一管理应用程序中的各种事件 /// public class EventService : IEventService { private readonly IAppDataStorageService _appDataStorageService; public EventService(IAppDataStorageService appDataStorageService) { _appDataStorageService = appDataStorageService; } #region 设备事件 /// /// 设备状态改变事件(统一事件,处理激活状态和连接状态变化) /// public event EventHandler OnDeviceStateChanged; /// /// 设备添加事件 /// public event EventHandler OnDeviceChanged; /// /// 触发设备状态改变事件(统一事件) /// /// 事件发送者 /// 设备状态改变事件参数 public void RaiseDeviceStateChanged(object sender, DeviceStateChangedEventArgs e) { OnDeviceStateChanged?.Invoke(sender, e); } /// /// 触发设备添加事件 /// /// 事件发送者 /// 设备变更事件参数 public void RaiseDeviceChanged(object sender, DeviceChangedEventArgs e) { OnDeviceChanged?.Invoke(sender, e); } #endregion #region 变量表事件 /// /// 变量表改变事件 /// public event EventHandler OnVariableTableChanged; /// /// 触发变量表改变事件 /// /// 事件发送者 /// 变量表改变事件参数 public void RaiseVariableTableChanged(object sender, VariableTableChangedEventArgs e) { OnVariableTableChanged?.Invoke(sender, e); } /// /// 变量值改变事件 /// public event EventHandler OnVariableChanged; /// /// 触发变量值改变事件 /// /// 事件发送者 /// 变量值改变事件参数 public void RaiseVariableChanged(object sender, VariableChangedEventArgs e) { OnVariableChanged?.Invoke(sender, e); } /// /// 变量启停改变事件 /// public event EventHandler OnVariableActiveChanged; public void RaiseVariableActiveChanged(object sender, VariablesActiveChangedEventArgs e) { OnVariableActiveChanged?.Invoke(sender, e); } /// /// 批量导入变量事件 /// public event EventHandler OnBatchImportVariables; /// /// 触发批量导入变量事件 /// /// 事件发送者 /// 批量导入变量事件参数 public void RaiseBatchImportVariables(object sender, BatchImportVariablesEventArgs e) { OnBatchImportVariables?.Invoke(sender, e); } /// /// 变量值改变事件 /// public event EventHandler OnVariableValueChanged; /// /// 触发变量值改变事件 /// /// 事件发送者 /// 变量值改变事件参数 public void RaiseVariableValueChanged(object sender, VariableValueChangedEventArgs e) { OnVariableValueChanged?.Invoke(sender, e); } #endregion #region MQTT事件 /// /// MQTT连接状态改变事件 /// public event EventHandler MqttConnectionChanged; /// /// 触发MQTT连接状态改变事件 /// /// 事件发送者 /// MQTT连接状态改变事件参数 public void RaiseMqttConnectionChanged(object sender, MqttConnectionChangedEventArgs e) { MqttConnectionChanged?.Invoke(sender, e); } /// /// MQTT服务器改变事件 /// public event EventHandler OnMqttServerChanged; /// /// 触发MQTT服务器改变事件 /// /// 事件发送者 /// MQTT服务器改变事件参数 public void RaiseMqttServerChanged(object sender, MqttServerChangedEventArgs e) { OnMqttServerChanged?.Invoke(sender, e); } #endregion #region 数据加载事件 /// /// 数据加载完成事件 /// public event EventHandler OnLoadDataCompleted; /// /// 触发数据加载完成事件 /// /// 事件发送者 /// 数据加载完成事件参数 public void RaiseLoadDataCompleted(object sender, DataLoadCompletedEventArgs e) { OnLoadDataCompleted?.Invoke(sender, e); } #endregion }