From b69d7735274b8d0f741da8a6bb8b8e1347477a5a Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 19 三月 2020 17:14:16 +0800 Subject: [PATCH] 20200319 --- HDL_ON/Entity/Function/Function.cs | 167 +++++++++++++++++++++++++++---------------------------- 1 files changed, 83 insertions(+), 84 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 01ea686..31d23ac 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -1,57 +1,16 @@ 锘縰sing System; using System.Collections.Generic; +using System.Linq; using Newtonsoft.Json.Linq; namespace HDL_ON.Entity { - public class Function + public class Function : A_Protocol_FunctionInfo { - /* - HDL缁熶竴鍗忚鏍煎紡锛�16bytes - 鍘傚晢浠e彿锛�2bytes - 閫氳鏂瑰紡锛氭湁绾�/鏃犵嚎/ZIGBEE绛�1bytes - 浜у搧璇嗗埆鐮侊細浠ユ坊鍔犺澶囩殑骞存湀鏃ユ椂鍒嗙 + 闅忔満鏁�8bytes - 鍔熻兘绫诲埆锛�1bytes - 鏁版嵁琛ㄧ储寮曞湴鍧�锛�2bytes - 鍥炶矾锛�2bytes - 涓句緥锛� 0001-00-201910120900002567-01-0001-0001 - */ - - public Function() - { - } - /// <summary> - /// 褰撳墠璁惧绫诲瀷 - /// </summary> - public FunctionType funcType = FunctionType.UnKown; - /// <summary> - /// 鍔熻兘鍒嗙被 - /// </summary> - public string funcClassification; /// <summary> /// 鏄惁鏀惰棌 /// </summary> public bool collection = false; - /// <summary> - /// 鍔熻兘ID - /// </summary> - public string sid; - /// <summary> - /// 澶囨敞 - /// </summary> - public string name; - /// <summary> - /// 淇濆瓨鏁版嵁鏃剁殑鏂囦欢鍚� - /// </summary> - public string savePath = ""; - /// <summary> - /// A鍗忚鏁版嵁鏍煎紡 - /// </summary> - public string a_Protocol_Namespace = "HDL"; - /// <summary> - /// bus鍗忚鏁版嵁鏍煎紡 - /// </summary> - public string bus_Data; /// <summary> /// 鎴块棿ID鍒楄〃 /// 璇ュ姛鑳芥坊鍔犲埌鍒版埧闂村垪琛� @@ -62,8 +21,63 @@ /// </summary> public string lastState = ""; + /// <summary> + /// 鍔熻兘绫诲瀷锛� + /// 濡傦細鐏笅闈㈢殑缁х數鍣�/璋冨厜鍣�/RGB灞炰簬鍚屼竴绉嶅姛鑳戒笉鍚岀被鍨嬬殑鐏� + /// </summary> + public string functionType { + get + { + return GetFunctionType(); + } + } + /// <summary> + /// bus鍗忚鏁版嵁鏍煎紡 + /// </summary> + public BusData bus_Data; + /// <summary> + /// 浣跨敤娆℃暟 + /// </summary> + public double usageCount = 0; + /// <summary> + /// 浣跨敤棰戠巼 + /// </summary> + public double usageFrequency = 0; + /// <summary> + /// 鍥哄畾鐨勫簭鍙� + /// </summary> + public int fixedSerialNumber = int.MaxValue; + + /// <summary> + /// A鍗忚鏁版嵁 + /// </summary> + public List<string> PropertyArray + { + get + { + try + { + if (trait == null) + return new List<string>(); + var proArr = trait.Split(',').ToList(); + foreach (var pro in proArr) + { + if (!dicPropert.ContainsKey(pro)) + { + dicPropert.TryAdd(pro, "0"); + } + } + return proArr; + } + catch (Exception ex) + { + MainPage.Log($"Get PropertyArray error : {ex.Message}"); + return new List<string>(); + } + } + } /// <summary> /// 鑾峰彇A鍗忚鎺у埗瀛楃涓� @@ -72,63 +86,48 @@ /// <returns></returns> public virtual JObject GetSendJObject(string command) { - var sendJob = new JObject { { "Namespace", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" }, }; + var sendJob = new JObject { { "vendor_code", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" }, }; var data = new JObject { { "sid", sid } }; - sendJob.Add("", data); + sendJob.Add("objects", data); return sendJob; } - /// <summary> - /// bus鏃ф暟鎹殑瀛愮綉ID - /// </summary> - public byte bus_SubnetId - { - get - { - var sss = JObject.Parse(bus_Data); - var subnetId = Convert.ToByte(sss.GetValue("SubnetID").ToString()); - return subnetId; - } - } /// <summary> - /// bus鏃ф暟鎹殑璁惧ID + /// 杩斿洖鍔熻兘绫诲瀷 /// </summary> - public byte bus_DeviceId + protected virtual string GetFunctionType() { - get - { - var sss = JObject.Parse(bus_Data); - var deviceId = Convert.ToByte(sss.GetValue("DeviceID").ToString()); - return deviceId; - } - } - /// <summary> - /// bus鏃ф暟鎹殑鍥炶矾ID - /// </summary> - public byte bus_LoopId - { - get - { - var sss = JObject.Parse(bus_Data); - var loopId = Convert.ToByte(sss.GetValue("LoopID").ToString()); - return loopId; - } + return functionCategory.ToString(); } - public string bus_DeviceType = ""; public string GetBusId () { string busId = ""; - if(!string.IsNullOrEmpty(bus_Data)) + if(bus_Data!=null) { - var sss = JObject.Parse(bus_Data); - var subnetId = sss.GetValue("SubnetID").ToString(); - var deviceId = sss.GetValue("DeviceID").ToString(); - var loopId = sss.GetValue("LoopID").ToString(); - busId = subnetId + "_" + deviceId + "_" + loopId; + busId = bus_Data.SubnetID + "_" + bus_Data.DeviceID + "_" + bus_Data.LoopID; } return busId; } + + /// <summary> + /// 鑾峰彇璁惧娣诲姞鍒版埧闂寸殑鎴块棿鍚嶇О + /// </summary> + /// <returns></returns> + public string GetRoomListName() + { + string roomNameList = ""; + foreach(var roomId in roomIdList) + { + var findRoom = DB_ResidenceData.residenceData.rooms.Find(obj => obj.sid == roomId); + if(roomNameList != "") + { + roomNameList += ","; + } + roomNameList += findRoom.floor + "路" + findRoom.name; + } + return roomNameList; + } } } -- Gitblit v1.8.0