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 | 93 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 91 insertions(+), 2 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index eb8157c..7e2029b 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -1,9 +1,10 @@ 锘縰sing System; using System.Collections.Generic; +using System.Linq; namespace HDL_ON.Entity { - public class FunctionList + public class FunctionList { /// <summary> /// 绌鸿皟鍒楄〃 @@ -22,9 +23,41 @@ /// </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>(); + [Newtonsoft.Json.JsonIgnore] public List<Function> functions = new List<Function>(); @@ -49,8 +82,64 @@ deviceFunctionList.AddRange(lights); deviceFunctionList.AddRange(curtains); deviceFunctionList.AddRange(floorHeatings); - return deviceFunctionList; + 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