From 09dfbfd9b77ec887c17b10f15799a1d3f56e4e17 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 15 十二月 2020 12:04:42 +0800 Subject: [PATCH] 2020-12-15-1 --- HDL_ON/Entity/FunctionList.cs | 85 ++++++++++++++++++++---------------------- 1 files changed, 41 insertions(+), 44 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 8a5d17c..8a38fa0 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -130,48 +130,51 @@ case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: - _FunctionList.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString)); + var light = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString); + _FunctionList.lights.Add(light); + deviceFunctionList.Add(light); break; case SPK.CurtainRoller: case SPK.CurtainShades: case SPK.CurtainSwitch: case SPK.CurtainTrietex: - _FunctionList.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString)); + var curtain = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString); + _FunctionList.curtains.Add(curtain); + deviceFunctionList.Add(curtain); break; case SPK.AcStandard: - _FunctionList.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString)); + var ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString); + _FunctionList.aCs.Add(ac); + deviceFunctionList.Add(ac); break; case SPK.FloorHeatStandard: - //鎭㈠鍦扮儹鏁版嵁 - _FunctionList.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString)); + var fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString); + _FunctionList.floorHeatings.Add(fh); + deviceFunctionList.Add(fh); break; case SPK.SensorPm25: case SPK.SensorCO2: case SPK.SensorTVOC: case SPK.SensorTemperature: case SPK.SensorHumidity: - //鎭㈠鐜鏁版嵁 - _FunctionList.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString)); + var sensor = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString); + _FunctionList.sensorsEnvironmentalScience.Add(sensor); + deviceFunctionList.Add(sensor); break; case SPK.ElectricSocket: - //鎭㈠鎻掑骇鏁版嵁 - _FunctionList.switchSockets.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString)); + var ele = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString); + _FunctionList.switchSockets.Add(ele); + deviceFunctionList.Add(ele); break; case SPK.ElectricTV: - //鎭㈠鐢佃鏁版嵁 - _FunctionList.tVs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString)); + var tv = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString); + _FunctionList.tVs.Add(tv); + deviceFunctionList.Add(tv); break; case SPK.ElectricFan: - //鎭㈠椋庢墖鏁版嵁 - _FunctionList.fans.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString)); - deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString)); + var fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString); + _FunctionList.fans.Add(fan); + deviceFunctionList.Add(fan); break; } } @@ -216,16 +219,17 @@ /// </summary> public void Clear() { - aCs = new List<AC>(); - lights = new List<Light>(); - curtains = new List<Curtain>(); - floorHeatings = new List<FloorHeating>(); - tVs = new List<TV>(); - switchSockets = new List<SwitchSocket>(); - fans = new List<Fan>(); - sensorsEnvironmentalScience = new List<Sensor>(); - scenes = new List<Scene>(); - deviceFunctionList = null; + _FunctionList.aCs = new List<AC>(); + _FunctionList.lights = new List<Light>(); + _FunctionList.curtains = new List<Curtain>(); + _FunctionList.floorHeatings = new List<FloorHeating>(); + _FunctionList.tVs = new List<TV>(); + _FunctionList.switchSockets = new List<SwitchSocket>(); + _FunctionList.fans = new List<Fan>(); + _FunctionList.sensorsEnvironmentalScience = new List<Sensor>(); + _FunctionList.scenes = new List<Scene>(); + _FunctionList.deviceFunctionList = null; + _FunctionList = null; } /// <summary> @@ -377,19 +381,6 @@ var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(pack.Data.ToString()); if (deviceList != null) { - foreach(var serverFunction in deviceList.list) - { - MainPage.Log($"deviceId:{serverFunction.deviceId}"); - } - - ////灏嗕笅杞藉埌鍒版暟鎹叏閮ㄤ繚瀛� - //new Thread(() => { - // foreach (var temp in deviceList.list) - // { - // temp.SaveFunctionData(); - // } - //}) - //{ IsBackground = true }.Start(); for (int i =0;i < List.GetDeviceFunctionList().Count;) { var localFunction = List.GetDeviceFunctionList()[i]; @@ -403,6 +394,7 @@ i++; if (localFunction.modifyTime != newFunction.modifyTime) { + MainPage.Log($"local:{localFunction.modifyTime}\r\n server:{newFunction.modifyTime}"); localFunction.name = newFunction.name; localFunction.collect = newFunction.collect; localFunction.modifyTime = newFunction.modifyTime; @@ -456,6 +448,11 @@ for(int i=0;i<List.scenes.Count;) { var localScene = List.scenes[i]; + if (localScene == null) + { + List.scenes.Remove(localScene); + continue; + } var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId); if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 { -- Gitblit v1.8.0