From b7638936d350eb1f48c02895b9275c79587726ce Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 15 十二月 2020 17:18:48 +0800 Subject: [PATCH] 2020-12-15-3 --- HDL_ON/Entity/FunctionList.cs | 50 +++++++++++++++++++++++++++++--------------------- 1 files changed, 29 insertions(+), 21 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 0610a77..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; } } @@ -445,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