From c7f2e3791f931d18c6ab3b1b215e57a1101e0389 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 27 八月 2020 15:01:27 +0800 Subject: [PATCH] 2020-08-27-1 --- ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 42 +++++++++++++++++++----------------------- 1 files changed, 19 insertions(+), 23 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs index 8907c8b..14495cf 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -23,7 +23,9 @@ return await System.Threading.Tasks.Task.Run(async () => { List<int> logicIdList = new List<int>(); - + + bool if_theme = false; + int if_number = -1; Action<string, string> action = (topic, data) => { var gatewayID = topic.Split('/')[0]; @@ -35,19 +37,19 @@ if (topic == $"{gatewayID}/Logic/GetLogicList_Respon") { - - var list = jObjectdata["Data"]["LogicList"]; - if (list == null) + if_theme = true; + var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(jObjectdata["Data"]["LogicList"].ToString()); + if_number = list.Count; + if (list.Count == 0) { return; } foreach (var listIfon in list) { - var logicId = int.Parse(listIfon["LogicId"].ToString()); + var logicId = int.Parse(listIfon["LogicId"]); logicIdList.Add(logicId); } - } }; var mainGateWay = ZbGateway.MainGateWay; @@ -73,9 +75,13 @@ while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000) { await System.Threading.Tasks.Task.Delay(100); - if (logicIdList.Count != 0) + if (if_theme) { - break; + if (if_number == 0 || if_number == logicIdList.Count) + { + break;//鍥炲娌℃湁鏁版嵁绔嬪埢杩斿洖 + } + } } ZbGateway.MainGateWay.GwResDataAction -= action; @@ -104,7 +110,6 @@ if (topic == $"{gatewayID}/Logic/GetLogicInfo_Respon") { - logic = new Common.Logic(); var Logicifon = jObjectdata["Data"]; logic.LogicId = int.Parse(Logicifon["LogicId"]?.ToString()); @@ -249,7 +254,6 @@ { try { - Logicifon = new Common.Logic(); Logicifon = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Logic>(jObjectdata["Data"].ToString()); } catch (Exception ex) @@ -652,8 +656,7 @@ return await System.Threading.Tasks.Task.Run(async () => { - var listLogic = new List<Common.Logic>(); - // bool @bool = false; + var listLogic = new List<Common.Logic>(); Action<string, string> action = (topic, data) => { var gatewayID = topic.Split('/')[0]; @@ -665,7 +668,6 @@ if (topic == $"{gatewayID}/Logic/GetAllLogicListInfo_Respon") { - var logic = new Common.Logic(); var Logicifon = jObjectdata["Data"]; logic.LogicId = int.Parse(Logicifon["LogicId"].ToString()); @@ -724,10 +726,7 @@ } } - //if (topic == $"{gatewayID}/Logic/AllLogicNum_Respon") - //{ - // @bool = true; - //} + }; var mainGateWay = ZbGateway.MainGateWay; if (mainGateWay == null) @@ -752,10 +751,6 @@ { break; } - //if (@bool) - //{ - // break; - //} } ZbGateway.MainGateWay.GwResDataAction -= action; return listLogic; @@ -805,7 +800,7 @@ while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000) { await System.Threading.Tasks.Task.Delay(100); - if (sceneui != null) + if (sceneui != null && sceneui.Id > 0) { break; } @@ -1332,8 +1327,9 @@ { get { + string value = ReadLocalFile("GPS_File"); //璇诲彇鏈湴GPS鏈嶅姟鐘舵�� - if (ReadLocalFile("GPS_File") == "0") + if (value == "0"||string.IsNullOrEmpty(value)) { return "0"; } -- Gitblit v1.8.0