From 5de5a26d3825b3182a7d3a18ed1cbdbb78a3f9aa Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 23 七月 2020 16:39:59 +0800 Subject: [PATCH] 2020-07-23 --- HDL_ON/Entity/FunctionList.cs | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 85 insertions(+), 0 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 7483e31..7e2029b 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -23,6 +23,37 @@ /// </summary> public List<FloorHeating> floorHeatings = new List<FloorHeating>(); /// <summary> + /// 瀹剁數鍒楄〃 + /// </summary> + public List<Function> electricals + { + get + { + var list = new List<Function>(); + list.AddRange(fans); + list.AddRange(switchSockets); + list.AddRange(tVs); + return list; + } + } + /// <summary> + /// 椋庢墖鍒楄〃 + /// </summary> + public List<Fan> fans = new List<Fan>(); + /// <summary> + /// 鐢佃鍒楄〃 + /// </summary> + public List<TV> tVs = new List<TV>(); + /// <summary> + /// 瀹剁數鍒楄〃 + /// </summary> + public List<SwitchSocket> switchSockets = new List<SwitchSocket>(); + /// <summary> + /// 鐜浼犳劅鍣ㄥ垪琛� + /// </summary> + public List<Sensor> sensorsEnvironmentalScience = new List<Sensor>(); + + /// <summary> /// 鍦烘櫙鍒楄〃 /// </summary> public List<Scene> scenes = new List<Scene>(); @@ -51,10 +82,64 @@ deviceFunctionList.AddRange(lights); deviceFunctionList.AddRange(curtains); deviceFunctionList.AddRange(floorHeatings); + deviceFunctionList.AddRange(electricals); + deviceFunctionList.AddRange(sensorsEnvironmentalScience); return deviceFunctionList.OrderByDescending(o => o.usageCount).ToList(); } + public void AddFunction(object obj) + { + var f = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(obj.ToString()); + + switch (f.functionCategory) + { + case FunctionCategory.Thermostat: + switch (f.functionType) + { + case FunctionType.AC: + aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString())); + break; + case FunctionType.FloorHeating: + floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString())); + break; + } + break; + case FunctionCategory.Light: + lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(obj.ToString())); + break; + case FunctionCategory.Curtain: + curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(obj.ToString())); + break; + case FunctionCategory.Electrical: + switch(f.functionType) + { + case FunctionType.TV: + electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString())); + break; + case FunctionType.WindPower: + electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString())); + break; + case FunctionType.Fan: + electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(obj.ToString())); + break; + } + break; + case FunctionCategory.Sensor: + switch(f.functionType) + { + case FunctionType.TVOC: + case FunctionType.CO2: + case FunctionType.PM25: + case FunctionType.Humidity: + //case FunctionType.Noise: + sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString())); + break; + } + break; + } + } + } } -- Gitblit v1.8.0