From b71dfb3ca100340005d56e1298292807da82322d Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 08 六月 2020 15:04:21 +0800
Subject: [PATCH] 20200608

---
 HDL_ON/Entity/FunctionList.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index ee02b6c..70614e2 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -40,11 +40,18 @@
         /// 椋庢墖鍒楄〃
         /// </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>
         /// 鍦烘櫙鍒楄〃
@@ -76,10 +83,63 @@
             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