wei
2021-01-27 7232642ff48a7fbde2018cde652f3e771fa58025
HDL_ON/Entity/FunctionList.cs
@@ -141,7 +141,7 @@
                        case SPK.LightRGBW:
                        case SPK.LightCCT:
                            var light = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString);
                            _FunctionList.lights.Add(light);
                            List.lights.Add(light);
                            deviceFunctionList.Add(light);
                            break;
                        case SPK.CurtainRoller:
@@ -149,17 +149,17 @@
                        case SPK.CurtainSwitch:
                        case SPK.CurtainTrietex:
                            var curtain = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString);
                            _FunctionList.curtains.Add(curtain);
                            List.curtains.Add(curtain);
                            deviceFunctionList.Add(curtain);
                            break;
                        case SPK.AcStandard:
                            var ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString);
                            _FunctionList.aCs.Add(ac);
                            List.aCs.Add(ac);
                            deviceFunctionList.Add(ac);
                            break;
                        case SPK.FloorHeatStandard:
                            var fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString);
                            _FunctionList.floorHeatings.Add(fh);
                            List.floorHeatings.Add(fh);
                            deviceFunctionList.Add(fh);
                            break;
                        case SPK.SensorPm25:
@@ -168,22 +168,22 @@
                        case SPK.SensorTemperature:
                        case SPK.SensorHumidity:
                            var sensor = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString);
                            _FunctionList.sensorsEnvironmentalScience.Add(sensor);
                            List.sensorsEnvironmentalScience.Add(sensor);
                            deviceFunctionList.Add(sensor);
                            break;
                        case SPK.ElectricSocket:
                            var ele = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString);
                            _FunctionList.switchSockets.Add(ele);
                            List.switchSockets.Add(ele);
                            deviceFunctionList.Add(ele);
                            break;
                        case SPK.ElectricTV:
                            var tv = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString);
                            _FunctionList.tVs.Add(tv);
                            List.tVs.Add(tv);
                            deviceFunctionList.Add(tv);
                            break;
                        case SPK.ElectricFan:
                            var  fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString);
                            _FunctionList.fans.Add(fan);
                            List.fans.Add(fan);
                            deviceFunctionList.Add(fan);
                            break;
                    }
@@ -229,16 +229,16 @@
        /// </summary>
        public void Clear()
        {
            _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;
            List.aCs = new List<AC>();
            List.lights = new List<Light>();
            List.curtains = new List<Curtain>();
            List.floorHeatings = new List<FloorHeating>();
            List.tVs = new List<TV>();
            List.switchSockets = new List<SwitchSocket>();
            List.fans = new List<Fan>();
            List.sensorsEnvironmentalScience = new List<Sensor>();
            List.scenes = new List<Scene>();
            List.deviceFunctionList = null;
            _FunctionList = null;
        }
@@ -317,7 +317,7 @@
                    switch (f.spk)
                    {
                        case SPK.AcStandard:
                            _FunctionList.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString()));
                            List.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString()));
                            break;
                    }
                    break;
@@ -325,27 +325,27 @@
                    switch (f.spk)
                    {
                        case SPK.FloorHeatStandard:
                            _FunctionList.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString()));
                            List.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString()));
                            break;
                    }
                    break;
                case FunctionCategory.Light:
                    _FunctionList.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(obj.ToString()));
                    List.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(obj.ToString()));
                    break;
                case FunctionCategory.Curtain:
                    _FunctionList.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(obj.ToString()));
                    List.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(obj.ToString()));
                    break;
                case FunctionCategory.Electric:
                    switch(f.spk)
                    {
                        case SPK.ElectricTV:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString()));
                            List.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString()));
                            break;
                        case SPK.ElectricSocket:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString()));
                            List.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString()));
                            break;
                        case SPK.ElectricFan:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(obj.ToString()));
                            List.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(obj.ToString()));
                            break;
                    }
                    break;
@@ -357,7 +357,7 @@
                        case SPK.SensorPm25:
                        case SPK.SensorHumidity:
                        case SPK.SensorTemperature:
                            _FunctionList.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString()));
                            List.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString()));
                            break;
                    }
                    break;
@@ -420,35 +420,35 @@
                case SPK.LightRGB:
                case SPK.LightRGBW:
                case SPK.LightCCT:
                    _FunctionList.lights.Remove(_FunctionList.lights.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.lights.Remove(List.lights.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.CurtainRoller:
                case SPK.CurtainShades:
                case SPK.CurtainSwitch:
                case SPK.CurtainTrietex:
                    _FunctionList.curtains.Remove(_FunctionList.curtains.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.curtains.Remove(List.curtains.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.AcStandard:
                    _FunctionList.aCs.Remove(_FunctionList.aCs.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.aCs.Remove(List.aCs.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.FloorHeatStandard:
                    _FunctionList.floorHeatings.Remove(_FunctionList.floorHeatings.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.floorHeatings.Remove(List.floorHeatings.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.SensorPm25:
                case SPK.SensorCO2:
                case SPK.SensorTVOC:
                case SPK.SensorTemperature:
                case SPK.SensorHumidity:
                    _FunctionList.sensorsEnvironmentalScience.Remove(_FunctionList.sensorsEnvironmentalScience.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.sensorsEnvironmentalScience.Remove(List.sensorsEnvironmentalScience.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.ElectricSocket:
                    _FunctionList.switchSockets.Remove(_FunctionList.switchSockets.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.switchSockets.Remove(List.switchSockets.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.ElectricTV:
                    _FunctionList.tVs.Remove(_FunctionList.tVs.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.tVs.Remove(List.tVs.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
                case SPK.ElectricFan:
                    _FunctionList.fans.Remove(_FunctionList.fans.Find((obj) => obj.deviceId == delTemp.deviceId));
                    List.fans.Remove(List.fans.Find((obj) => obj.deviceId == delTemp.deviceId));
                    break;
            }
            var removeTemp = deviceFunctionList.Find((obj) => obj.deviceId == delTemp.deviceId);