From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/Entity/FunctionList.cs | 249 ++++++++++++++++++++++++++++--------------------- 1 files changed, 140 insertions(+), 109 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 7239051..1f2fe17 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -41,19 +41,8 @@ /// <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; + var spkList = SPK.AcSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } /// <summary> @@ -61,24 +50,16 @@ /// </summary> 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); + var spkList = SPK.LightSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } /// <summary> /// 绐楀笜鍒楄〃 /// </summary> public List<Function> GetCurtainList() { - return Functions.FindAll((obj) => - obj.spk == SPK.CurtainRoller - || obj.spk == SPK.CurtainShades - || obj.spk == SPK.CurtainSwitch - || obj.spk == SPK.CurtainTrietex - ); + var spkList = SPK.CurtainSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } /// <summary> @@ -86,82 +67,41 @@ /// </summary> public List<Function> GetFloorHeatingList() { - return Functions.FindAll((obj) => obj.spk == SPK.FloorHeatStandard); + var spkList = SPK.FhSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } + + /// <summary> + /// 鏂伴鍒楄〃 + /// </summary> + /// <returns></returns> + public List<Function> GetAirFreshList() + { + var spkList = SPK.AirFreshSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); + } + + /// <summary> + /// 鑳芥簮鍒楄〃 + /// </summary> + /// <returns></returns> + public List<Function> GetEnergyList() + { + var spkList = SPK.EnergySpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); + } + #region 瀹剁數鍒楄〃 electricals /// <summary> /// 瀹剁數鍒楄〃 /// </summary> public List<Function> GetElectricals() { - - return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan - || obj.spk == SPK.ElectricSocket - || obj.spk == SPK.IrLearn - || obj.spk == SPK.TvIr - || obj.spk == SPK.ElectricTV - || obj.spk == SPK.ElectricTuyaAirCleaner - || obj.spk == SPK.ElectricTuyaWeepRobot - || obj.spk == SPK.ElectricTuyaWaterValve - || obj.spk == SPK.ClothesHanger); + var spkList = SPK.ElectricalSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } - /// <summary> - /// 閬ユ帶鍣ㄥ垪琛� - /// </summary> - /// <returns></returns> - public List<Function> GetIrLearinList() - { - return Functions.FindAll((obj) => obj.spk == SPK.IrLearn); - } - /// <summary> - /// 椋庢墖鍒楄〃 - /// </summary> - public List<Function> GetFanList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan); - } - /// <summary> - /// 鐢佃鍒楄〃 - /// </summary> - public List<Function> GetTVList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV || obj.spk == SPK.TvIr); - } - /// <summary> - /// 瀹剁數鎻掑骇鍒楄〃 - /// </summary> - public List<Function> GetElectricSocketList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricSocket); - } - /// <summary> - /// 绌烘皵鍑�鍖栧櫒鍒楄〃 - /// </summary> - public List<Function> GetAirCleanerList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaAirCleaner); - } - /// <summary> - /// 鎵湴鏈哄櫒浜哄垪琛� - /// </summary> - public List<Function> GetWeepRobotList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWeepRobot); - } - /// <summary> - /// 姘撮榾鍒楄〃 - /// </summary> - public List<Function> GetWaterValveList() - { - return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWaterValve); - } - /// <summary> - /// 鍑夐湼鍒楄〃 - /// </summary> - public List<Function> GetClothesHangerList () - { - return Functions.FindAll((obj) => obj.spk == SPK.ClothesHanger); - } + + /// <summary> /// 绾㈠瀹濆垪琛� /// </summary> @@ -169,40 +109,82 @@ { return Functions.FindAll((obj) => obj.spk == SPK.IrModule); } - #endregion + + /// <summary> + /// 闊充箰鍒楄〃 + /// </summary> + /// <returns></returns> + public List<Function> GetMusicList() + { + var spkList = SPK.MusicSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); + } + + /// <summary> /// 鐜浼犳劅鍣ㄥ垪琛� /// </summary> 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 - ); + var spkList = SPK.EnvironSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } /// <summary> /// 瀹夐槻璁惧鍒楄〃 /// </summary> public List<Function> GetArmSensorList() { - return Functions.FindAll((obj) => obj.spk == SPK.SensorSmoke - || obj.spk == SPK.SensorWater - || obj.spk == SPK.SensorDoorWindow - || obj.spk == SPK.SensorPir - ); + var spkList = SPK.ArmSensorSpkList(); + return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } + /// <summary> + /// 鍙瀵硅鍒楄〃,褰撲负null鎴杝ize涓�0鍒欎笉鏄剧ず鍙瀵硅icon + /// </summary> + // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom; + public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>(); + + List<Function> _OtherBrandFunction; + /// <summary> + /// 绗笁鏂瑰搧鐗屽姛鑳� + /// </summary> + public List<Function> OtherBrandFunction + { + get + { + if(_OtherBrandFunction == null) + { + _OtherBrandFunction = new List<Function>(); + var spkList = SPK.GetAll3tySPK(); + _OtherBrandFunction = Functions.FindAll((obj) => spkList.Contains(obj.spk)); + } + return _OtherBrandFunction; + } + } + + + /// <summary> + /// 鍦烘櫙鍒楄〃 + /// </summary> public List<Scene> scenes = new List<Scene>(); + + /// <summary> + /// 瀹夐槻鍒楄〃 + /// </summary> + public List<SecurityAlarm> securities = new List<SecurityAlarm>(); /// <summary> /// 鍔犺浇鍔熻兘鍒楄〃 /// </summary> /// <param name="filePath"></param> - public void IniFunctionList(string filePath) + /// <param name="checkRepeat"> + /// <para>鑰冭檻鍒版�ц兘闂杩藉姞姝ゅ彉閲�,鏄惁妫�娴嬮噸澶�,鍙function鏈夋晥</para> + /// <para>true:褰撻噸澶嶅瓨鍦ㄦ椂,鏇挎崲鎺�</para> + /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param> + public void IniFunctionList(string filePath, bool checkRepeat = false) { + //MainPage.Log("12346890sdkxghjkl"); // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃 if (filePath.StartsWith("FunctionData_")) { @@ -211,13 +193,30 @@ var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString); if (tempFunction == null) { + MainPage.Log("null"); FileUtlis.Files.DeleteFile(filePath); return; } - - + //闊充箰閮ㄥ垎瑕佷慨鏀� + //if(tempFunction.spk.ToString() == SPK.MusicStandard) + //{ + // UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString)); + //} + if (checkRepeat == true) + { + //妫�娴嬮噸澶� + for (int i = 0; i < Functions.Count; i++) + { + if (Functions[i].deviceId == tempFunction.deviceId) + { + //鍏堢Щ闄ゆ帀鍐嶅姞 + Functions.RemoveAt(i); + Functions.Add(tempFunction); + return; + } + } + } Functions.Add(tempFunction); - } if (filePath.StartsWith("SceneData_")) { @@ -225,6 +224,33 @@ var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes); var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString); List.scenes.Add(tempScene); + } + else if (filePath.StartsWith("SecurityData_")) + { + var dataBytes = FileUtlis.Files.ReadFile(filePath); + var dataString = System.Text.Encoding.UTF8.GetString(dataBytes); + var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString); + if (temp == null) + { + MainPage.Log("null"); + FileUtlis.Files.DeleteFile(filePath); + return; + } + if (checkRepeat == true) + { + //妫�娴嬮噸澶� + for (int i = 0; i < securities.Count; i++) + { + if (securities[i].sid == temp.sid) + { + //鍏堢Щ闄ゆ帀鍐嶅姞 + securities.RemoveAt(i); + securities.Add(temp); + return; + } + } + } + securities.Add(temp); } } @@ -266,6 +292,9 @@ return Functions; } + + + /// <summary> /// 娓呯┖璁惧鍔熻兘鍒楄〃 @@ -320,6 +349,7 @@ List.scenes.Remove(scene); } } + /// <summary> /// 鍒犻櫎鏈湴鍔熻兘鍙婃枃浠� /// </summary> @@ -437,6 +467,7 @@ }) { IsBackground = true }.Start(); } + #region 鍦烘櫙鐩稿叧 /// <summary> /// 娣诲姞鍦烘櫙 -- Gitblit v1.8.0