From 6a9ad7ec93218913a2ce3b898bb036f18f8f0da4 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 13 八月 2020 17:06:36 +0800 Subject: [PATCH] 20200813 --- HDL_ON/Entity/FunctionList.cs | 125 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 125 insertions(+), 0 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index ee02b6c..4b0b5bb 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,9 +83,127 @@ deviceFunctionList.AddRange(curtains); deviceFunctionList.AddRange(floorHeatings); deviceFunctionList.AddRange(electricals); + deviceFunctionList.AddRange(sensorsEnvironmentalScience); + deviceFunctionList.AddRange(HDL_ON.UI.Music.A31MusicModel.A31MusicModelList); return deviceFunctionList.OrderByDescending(o => o.usageCount).ToList(); } + /// <summary> + /// 娓呯┖璁惧鍔熻兘鍒楄〃 + /// </summary> + public void ClearAllDeviceFunctionList() + { + aCs = new List<AC>(); + lights = new List<Light>(); + curtains = new List<Curtain>(); + floorHeatings = new List<FloorHeating>(); + tVs = new List<TV>(); + switchSockets = new List<SwitchSocket>(); + fans = new List<Fan>(); + sensorsEnvironmentalScience = new List<Sensor>(); + functions = new List<Function>(); + } + + /// <summary> + /// 娣诲姞鍔熻兘 + /// </summary> + /// <param name="sidObj"></param> + public void AddDeviceFunction(Function sidObj0) + { + switch (sidObj0.functionType) + { + case FunctionType.AC: + var sidObj = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.aCs.Add(sidObj); + break; + case FunctionType.FloorHeating: + var sidObj1 = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.floorHeatings.Add(sidObj1); + break; + case FunctionType.Dimmer: + case FunctionType.RGB: + case FunctionType.Relay: + var sidObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.lights.Add(sidObj2); + break; + case FunctionType.Curtain: + var sidObj3 = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.curtains.Add(sidObj3 ); + break; + case FunctionType.TV: + var sidObj4 = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.tVs.Add(sidObj4); + break; + case FunctionType.Socket: + var sidObj5 = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.switchSockets.Add(sidObj5); + break; + case FunctionType.Fan: + var sidObj6 = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.fans.Add(sidObj6); + break; + case FunctionType.CO2: + case FunctionType.TVOC: + case FunctionType.PM25: + case FunctionType.Temp: + case FunctionType.Humidity: + var sidObj7 = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0)); + DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience.Add(sidObj7); + break; + } + } + + 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