using HDL_ON.Entity;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace HDL_ON.Stan
|
{
|
/// <summary>
|
/// 设备状态推送逻辑(继承于EditorFormBase的界面专用)
|
/// </summary>
|
public class HdlDeviceStatuPushLogic
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 设备状态推送逻辑(继承于EditorFormBase的界面专用)
|
/// </summary>
|
private static HdlDeviceStatuPushLogic m_Current = null;
|
/// <summary>
|
/// 设备状态推送逻辑(继承于EditorFormBase的界面专用)
|
/// </summary>
|
public static HdlDeviceStatuPushLogic Current
|
{
|
get
|
{
|
if (m_Current == null)
|
{
|
m_Current = new HdlDeviceStatuPushLogic();
|
}
|
return m_Current;
|
}
|
}
|
#endregion
|
|
#region ■ 状态更新___________________________
|
|
/// <summary>
|
/// 设备状态更新
|
/// </summary>
|
/// <param name="updateData">云端推送的更新数据</param>
|
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
|
}
|
}
|