From 9c33e4ccb90fae87a614abd2ed1ab034d3b7a13d Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 26 三月 2021 11:26:01 +0800
Subject: [PATCH] 2021-03-26 1.对接接口优化。
---
HDL_ON/Entity/FunctionList.cs | 378 ++++++++++++++++--------------------------------------
1 files changed, 112 insertions(+), 266 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 845ab49..b4abf79 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -16,7 +16,7 @@
{
get
{
- if(_FunctionList == null)
+ if (_FunctionList == null)
{
_FunctionList = new FunctionList();
#region 鎭㈠鏁版嵁
@@ -35,126 +35,160 @@
/// </summary>
public List<Function> Functions = new List<Function>();
-
-
-
-
/// <summary>
/// 绌鸿皟鍒楄〃
/// </summary>
- public List<AC> aCs = new List<AC>();
+ /// <returns></returns>
+ public List<Function> GetAcList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.AcStandard || obj.spk == SPK.AcIr);
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetList()
+ {
+ List<Function> list = new List<Function>();
+
+
+ return list;
+ }
+
/// <summary>
/// 鐏厜鍒楄〃
/// </summary>
- public List<Light> lights = new List<Light>();
+ public List<Function> GetLightList()
+ {
+ return Functions.FindAll((obj) =>
+ obj.spk == SPK.LightSwitch
+ || obj.spk == SPK.LightDimming
+ || obj.spk == SPK.LightRGB
+ || obj.spk == SPK.LightRGBW
+ || obj.spk == SPK.LightCCT);
+ }
/// <summary>
/// 绐楀笜鍒楄〃
/// </summary>
- public List<Curtain> curtains = new List<Curtain>();
+ public List<Function> GetCurtainList()
+ {
+ return Functions.FindAll((obj) =>
+ obj.spk == SPK.CurtainRoller
+ || obj.spk == SPK.CurtainShades
+ || obj.spk == SPK.CurtainSwitch
+ || obj.spk == SPK.CurtainTrietex
+ );
+ }
+
/// <summary>
/// 鍦扮儹鍒楄〃
/// </summary>
- public List<FloorHeating> floorHeatings = new List<FloorHeating>();
+ public List<Function> GetFloorHeatingList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.FloorHeatStandard);
+ }
#region 瀹剁數鍒楄〃 electricals
/// <summary>
/// 瀹剁數鍒楄〃
/// </summary>
- public List<Function> electricals
+ public List<Function> GetElectricals()
{
- get
- {
- if(fans == null)
- {
- fans = new List<Fan>();
- }
- if(switchSockets == null)
- {
- switchSockets = new List<SwitchSocket>();
- }
- if(tVs == null)
- {
- tVs = new List<TV>();
- }
- if (airCleaners == null)
- {
- airCleaners = new List<AirCleaner>();
- }
- if (weepRobots == null)
- {
- weepRobots = new List<WeepRobot>();
- }
- if(waterValveList == null)
- {
- waterValveList = new List<Function>();
- }
- if(clothesHangerList == null)
- {
- clothesHangerList = new List<Function>();
- }
- var list = new List<Function>();
- list.AddRange(fans);
- list.AddRange(switchSockets);
- list.AddRange(tVs);
- list.AddRange(airCleaners);
- list.AddRange(weepRobots);
- list.AddRange(waterValveList);
- list.AddRange(clothesHangerList);
- return list;
- }
+
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan
+ || obj.spk == SPK.ElectricSocket
+ || obj.spk == SPK.ElectricTV
+ || obj.spk == SPK.ElectricTuyaAirCleaner
+ || obj.spk == SPK.ElectricTuyaWeepRobot
+ || obj.spk == SPK.ElectricTuyaWaterValve
+ || obj.spk == SPK.ClothesHanger);
}
/// <summary>
/// 椋庢墖鍒楄〃
/// </summary>
- public List<Fan> fans = new List<Fan>();
+ public List<Function> GetFanList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan);
+ }
/// <summary>
/// 鐢佃鍒楄〃
/// </summary>
- public List<TV> tVs = new List<TV>();
+ public List<Function> GetTVList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV);
+ }
/// <summary>
- /// 瀹剁數鍒楄〃
+ /// 瀹剁數鎻掑骇鍒楄〃
/// </summary>
- public List<SwitchSocket> switchSockets = new List<SwitchSocket>();
+ public List<Function> GetElectricSocketList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricSocket);
+ }
/// <summary>
/// 绌烘皵鍑�鍖栧櫒鍒楄〃
/// </summary>
- public List<AirCleaner> airCleaners = new List<AirCleaner>();
+ public List<Function> GetAirCleanerList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaAirCleaner);
+ }
/// <summary>
/// 鎵湴鏈哄櫒浜哄垪琛�
/// </summary>
- public List<WeepRobot> weepRobots = new List<WeepRobot>();
+ public List<Function> GetWeepRobotList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWeepRobot);
+ }
/// <summary>
/// 姘撮榾鍒楄〃
/// </summary>
- public List<Function> waterValveList = new List<Function>();
+ public List<Function> GetWaterValveList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWaterValve);
+ }
/// <summary>
/// 鍑夐湼鍒楄〃
/// </summary>
- public List<Function> clothesHangerList = new List<Function>();
+ public List<Function> GetClothesHangerList ()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.ClothesHanger);
+ }
/// <summary>
/// 绾㈠瀹濆垪琛�
/// </summary>
- public List<Function> irModule = new List<Function>();
+ public List<Function> GetIrModuleList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
+ }
#endregion
/// <summary>
/// 鐜浼犳劅鍣ㄥ垪琛�
/// </summary>
- public List<Sensor> sensorsEnvironmentalScience = new List<Sensor>();
+ public List<Function> GetEnvirSensorsList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.SensorPm25
+ || obj.spk == SPK.SensorCO2
+ || obj.spk == SPK.SensorTVOC
+ || obj.spk == SPK.SensorTemperature
+ || obj.spk == SPK.SensorHumidity
+ );
+ }
/// <summary>
/// 瀹夐槻璁惧鍒楄〃
/// </summary>
- public List<Sensor> sensorsArm = new List<Sensor>();
+ public List<Function> GetArmSensorList()
+ {
+ return Functions.FindAll((obj) => obj.spk == SPK.SensorSmoke
+ || obj.spk == SPK.SensorWater
+ || obj.spk == SPK.SensorDoorWindow
+ || obj.spk == SPK.SensorPir
+ );
+ }
public List<Scene> scenes = new List<Scene>();
- /// <summary>
- /// 鍔熻兘鍒楄〃
- /// </summary>
- List<Function> deviceFunctionList = new List<Function>();
-
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
- /// todo 闇�瑕佷紭鍖栵紝鍚庢湡涓嶈兘淇濊瘉鑳戒娇鐢╯id瑙f瀽鍑烘槸浠�涔堢被鍨嬬殑璁惧
/// </summary>
/// <param name="filePath"></param>
public void IniFunctionList(string filePath)
@@ -162,7 +196,7 @@
// todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
if (filePath.StartsWith("FunctionData_"))
{
- var functionDataBytes = Common.FileUtlis.Files.ReadFile(filePath);
+ var functionDataBytes = FileUtlis.Files.ReadFile(filePath);
var functionDataString = System.Text.Encoding.UTF8.GetString(functionDataBytes);
var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
if (tempFunction == null)
@@ -170,100 +204,10 @@
FileUtlis.Files.DeleteFile(filePath);
return;
}
- {
- switch (tempFunction.spk)
- {
- case SPK.LightSwitch:
- case SPK.LightDimming:
- case SPK.LightRGB:
- case SPK.LightRGBW:
- case SPK.LightCCT:
- var light = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString);
- List.lights.Add(light);
- deviceFunctionList.Add(light);
- break;
- case SPK.CurtainRoller:
- case SPK.CurtainShades:
- case SPK.CurtainSwitch:
- case SPK.CurtainTrietex:
- var curtain = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString);
- List.curtains.Add(curtain);
- deviceFunctionList.Add(curtain);
- break;
- case SPK.AcStandard:
- var ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString);
- List.aCs.Add(ac);
- deviceFunctionList.Add(ac);
- break;
- case SPK.FloorHeatStandard:
- var fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString);
- List.floorHeatings.Add(fh);
- deviceFunctionList.Add(fh);
- break;
- case SPK.SensorPm25:
- case SPK.SensorCO2:
- case SPK.SensorTVOC:
- case SPK.SensorTemperature:
- case SPK.SensorHumidity:
- var sensor = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString);
- List.sensorsEnvironmentalScience.Add(sensor);
- deviceFunctionList.Add(sensor);
- break;
- case SPK.ElectricSocket:
- var ele = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString);
- List.switchSockets.Add(ele);
- deviceFunctionList.Add(ele);
- break;
- case SPK.ElectricTV:
- var tv = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString);
- List.tVs.Add(tv);
- deviceFunctionList.Add(tv);
- break;
- case SPK.ElectricFan:
- var fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString);
- List.fans.Add(fan);
- deviceFunctionList.Add(fan);
- break;
- case SPK.ElectricTuyaAirCleaner:
- var airCleaner = Newtonsoft.Json.JsonConvert.DeserializeObject<AirCleaner>(functionDataString);
- List.airCleaners.Add(airCleaner);
- deviceFunctionList.Add(airCleaner);
- break;
- case SPK.ElectricTuyaFan:
- var tuyaFan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString);
- List.fans.Add(tuyaFan);
- deviceFunctionList.Add(tuyaFan);
- break;
- case SPK.ElectricTuyaWeepRobot:
- var tuyaWeepRobot = Newtonsoft.Json.JsonConvert.DeserializeObject<WeepRobot>(functionDataString);
- List.weepRobots.Add(tuyaWeepRobot);
- deviceFunctionList.Add(tuyaWeepRobot);
- break;
- case SPK.ElectricTuyaWaterValve:
- var tuyaWaterValve = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
- List.waterValveList.Add(tuyaWaterValve);
- deviceFunctionList.Add(tuyaWaterValve);
- break;
- case SPK.SensorSmoke:
- case SPK.SensorWater:
- case SPK.SensorDoorWindow:
- case SPK.SensorPir:
- var ser = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString);
- List.sensorsArm.Add(ser);
- deviceFunctionList.Add(ser);
- break;
- case SPK.ClothesHanger:
- var ch = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
- List.clothesHangerList.Add(ch);
- deviceFunctionList.Add(ch);
- break;
- case SPK.IrModule:
- var irm = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
- List.irModule.Add(irm);
- deviceFunctionList.Add(irm);
- break;
- }
- }
+
+
+ Functions.Add(tempFunction);
+
}
if (filePath.StartsWith("SceneData_"))
{
@@ -279,27 +223,6 @@
/// </summary>
public List<Function> GetDeviceFunctionList(SPK.BrandType brandType = SPK.BrandType.All)
{
- if (deviceFunctionList == null || deviceFunctionList.Count == 0)
- {
- deviceFunctionList = new List<Function>();
- deviceFunctionList.AddRange(aCs);
- deviceFunctionList.AddRange(lights);
- deviceFunctionList.AddRange(curtains);
- deviceFunctionList.AddRange(floorHeatings);
- deviceFunctionList.AddRange(electricals);
- deviceFunctionList.AddRange(sensorsEnvironmentalScience);
- deviceFunctionList.AddRange(sensorsArm);
- deviceFunctionList.AddRange(UI.Music.A31MusicModel.A31MusicModelList);
- try
- {
- deviceFunctionList = deviceFunctionList.OrderByDescending(o => o.controlCounter).ToList();
- }
- catch (Exception ex)
- {
- MainPage.Log($"璁惧鍔熻兘鎺掑簭寮傚父锛歿ex.Message}");
- }
- }
-
List<Function> resultFunctions = new List<Function>();
if (brandType == SPK.BrandType.All)
{
@@ -309,7 +232,7 @@
switch (brandType)
{
case SPK.BrandType.Hdl:
- foreach (var function in deviceFunctionList)
+ foreach (var function in Functions)
{
if (!SPK.Get3tySpk(SPK.BrandType.All3tyBrand).Contains(function.spk))
{
@@ -319,7 +242,7 @@
break;
case SPK.BrandType.Tuya:
- foreach (var function in deviceFunctionList)
+ foreach (var function in Functions)
{
if (SPK.Get3tySpk(SPK.BrandType.Tuya).Contains(function.spk))
{
@@ -331,7 +254,7 @@
return resultFunctions;
}
- return deviceFunctionList;
+ return Functions;
}
/// <summary>
@@ -339,23 +262,7 @@
/// </summary>
public void Clear()
{
- List.aCs = new List<AC>();
- List.lights = new List<Light>();
- List.curtains = new List<Curtain>();
- List.floorHeatings = new List<FloorHeating>();
- List.sensorsEnvironmentalScience = new List<Sensor>();
- #region 瀹剁數
- List.fans = new List<Fan>();
- List.switchSockets = new List<SwitchSocket>();
- List.tVs = new List<TV>();
- List.airCleaners = new List<AirCleaner>();
- List.weepRobots = new List<WeepRobot>();
- List.waterValveList = new List<Function>();
- List.clothesHangerList = new List<Function>();
- #endregion
-
- List.scenes = new List<Scene>();
- List.deviceFunctionList = new List<Function>();
+ Functions = new List<Function>();
_FunctionList = null;
}
@@ -408,69 +315,8 @@
/// </summary>
public void DeleteFunction(Function delTemp)
{
- switch (delTemp.spk)
- {
- case SPK.LightSwitch:
- case SPK.LightDimming:
- case SPK.LightRGB:
- case SPK.LightRGBW:
- case SPK.LightCCT:
- List.lights.Remove(List.lights.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.CurtainRoller:
- case SPK.CurtainShades:
- case SPK.CurtainSwitch:
- case SPK.CurtainTrietex:
- List.curtains.Remove(List.curtains.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.AcStandard:
- List.aCs.Remove(List.aCs.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.FloorHeatStandard:
- 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:
- List.sensorsEnvironmentalScience.Remove(List.sensorsEnvironmentalScience.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricSocket:
- List.switchSockets.Remove(List.switchSockets.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricTV:
- List.tVs.Remove(List.tVs.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricFan:
- case SPK.ElectricTuyaFan:
- List.fans.Remove(List.fans.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricTuyaAirCleaner:
- List.airCleaners.Remove(List.airCleaners.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricTuyaWaterValve:
- List.waterValveList.Remove(List.waterValveList.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ElectricTuyaWeepRobot:
- List.weepRobots.Remove(List.weepRobots.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.ClothesHanger:
- List.clothesHangerList.Remove(List.clothesHangerList.Find((obj) => obj.deviceId == delTemp.deviceId));
- break;
- case SPK.SensorSmoke:
- case SPK.SensorWater:
- case SPK.SensorDoorWindow:
- case SPK.SensorPir:
- List.sensorsArm.Remove(List.sensorsArm.Find((obj)=>obj.deviceId == delTemp.deviceId));
- break;
- }
- var removeTemp = deviceFunctionList.Find((obj) => obj.deviceId == delTemp.deviceId);
- if(removeTemp!= null)
- {
- deviceFunctionList.Remove(removeTemp);
- }
- Common.FileUtlis.Files.DeleteFile(delTemp.savePath);
+ Functions.Remove(Functions.Find((obj) => obj.deviceId == delTemp.deviceId));
+ FileUtlis.Files.DeleteFile(delTemp.savePath);
}
bool lockReadFunctionStatus = false;
--
Gitblit v1.8.0