using HDL_ON.Entity; using System; using System.Collections.Generic; using System.Text; namespace HDL_ON.Stan { /// /// 设备状态推送逻辑(继承于EditorFormBase的界面专用) /// public class HdlDeviceStatuPushLogic { #region ■ 变量声明___________________________ /// /// 设备状态推送逻辑(继承于EditorFormBase的界面专用) /// private static HdlDeviceStatuPushLogic m_Current = null; /// /// 设备状态推送逻辑(继承于EditorFormBase的界面专用) /// public static HdlDeviceStatuPushLogic Current { get { if (m_Current == null) { m_Current = new HdlDeviceStatuPushLogic(); } return m_Current; } } #endregion #region ■ 状态更新___________________________ /// /// 设备状态更新 /// /// 云端推送的更新数据 public Function UpdateDeviceStatu(AlinkControlData updateData) { var localDevice = FunctionList.List.electricals.Find((obj) => obj.sid == updateData.sid); if (localDevice != null) { foreach (var attr in updateData.status) { var localAttr = localDevice.attributes.Find((obj) => obj.key == attr.key); if (localAttr != null) { //更改属性值 localAttr.curValue = attr.value; } } //全部界面推送 HdlFormLogic.Current.DeviceStatuPush(localDevice); } return localDevice; } #endregion } }