- 修改 VariableValueChangedEventArgs 类: - 移除了 VariableId、VariableName、NewValue 和 UpdateTime 属性 - 添加了 Variable(VariableDto 类型)和 OldValue 属性 - 更新了构造函数以接收 VariableDto 对象和旧值 - 更新事件触发代码: - 修改了 UpdateViewProcessor.cs 中的事件触发代码,改为传递 VariableDto 对象和旧值 - 更新事件处理代码: - 修改了 DataEventService.cs 中的事件处理逻辑,改为访问 e.Variable 属性 - 修改了 VariableHistoryViewModel.cs 中的事件处理逻辑,改为使用 e.Variable 属性
1. 向 VariableTableManagementService 添加了 IEventService 依赖 2. 将内存操作和事件触发逻辑合并到数据库操作方法中: - CreateVariableTableAsync 现在会在数据库创建后自动添加到内存并触发事件 - UpdateVariableTableAsync 现在会在数据库更新后自动更新内存并触发事件 - DeleteVariableTableAsync 现在会在数据库删除后自动从内存移除并触发事件 3. 从类中删除了独立的内存操作方法 4. 从接口中移除了内存操作方法 5. 更新了所有调用这些服务的代码,使它们不再调用已删除的内存方法 6. 扩展了 IEventService 以支持 VariableTableChanged 事件
1. 创建了 DeviceStateType 枚举来区分状态类型(激活/连接) 2. 创建了 DeviceStateChangedEventArgs 统一事件类 3. 更新了 IEventService 接口,将两个事件合并为一个 4. 更新了 EventService 实现以支持新事件 5. 更新了所有相关服务(DeviceMonitoringService, OpcUaServiceManager, S7ServiceManager, DeviceDataService, DeviceItemViewModel) 关键优点: - 减少了事件类型的数量,简化了事件系统 - 为设备状态变化提供了一致的处理方式 - 保持了向后兼容性,将旧类标记为 [Obsolete]