From 9ca2281d589fbd4b35177d1846974f17d12095ae Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期四, 16 四月 2020 15:12:02 +0800 Subject: [PATCH] 2020-04-16 1.更新 --- Crabtree/SmartHome/HDL/Operation/Device/Room.cs | 163 +++++++++++++++++++++++++----------------------------- 1 files changed, 75 insertions(+), 88 deletions(-) diff --git a/Crabtree/SmartHome/HDL/Operation/Device/Room.cs b/Crabtree/SmartHome/HDL/Operation/Device/Room.cs index dd209fd..a713894 100644 --- a/Crabtree/SmartHome/HDL/Operation/Device/Room.cs +++ b/Crabtree/SmartHome/HDL/Operation/Device/Room.cs @@ -11,7 +11,7 @@ /// <summary> /// 鎴块棿瀵硅薄 /// </summary> - public class Room + public class Room { public static string FavoriteRoom = "FavoriteRoom"; @@ -24,6 +24,8 @@ { GetRoomByFilePath (roomFilePath); } + + // 鎴块棿鍛藉悕瑙勫垯 typeof (Room).Name + "_" + etNameBox.Text.Trim (); /// <summary> @@ -84,6 +86,12 @@ break; } } + //if( IO.FileUtils.ReadFiles ().FindAll ((obj) => obj.Split ('_').Length == 5 && obj.Split ('_') [0] == "Equipment" && obj.Split ('_') [1] == DeviceType.SuperWireless.ToString ()).Count > 0) { + // UserConfig.Instance.HideDeviceTypes.Remove (SimpleControl.R.MyInternationalizationString.SuperWireless); + // UserConfig.Instance.HideDeviceTypes.Remove (SimpleControl.R.MyInternationalizationString.Sonos); + // UserConfig.Instance.SaveUserConfig (); + //} + return nowRoom; } catch { return null; @@ -159,13 +167,16 @@ } else if (deviceType == DeviceType.LightSwitch.ToString ()){ var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightSwitch> (jsonInfo); room.DeviceList.Add (common); - } else if (deviceType == DeviceType.LightMixSwitch.ToString () ){ + } + else if (deviceType == DeviceType.LogicModule.ToString()) + { + var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LogicModule>(jsonInfo); + room.DeviceList.Add(common); + } + else if (deviceType == DeviceType.LightMixSwitch.ToString () ){ var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixSwitch> (jsonInfo); room.DeviceList.Add (common); - } else if ( deviceType == DeviceType.LightEnergySocket.ToString ()) { - var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightEnergySocket> (jsonInfo); - room.DeviceList.Add (common); - } else if (deviceType == DeviceType.LightEnergySwitch.ToString ()) { + } else if ( deviceType == DeviceType.LightEnergySwitch.ToString ()) { var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightEnergySwitch> (jsonInfo); room.DeviceList.Add (common); } else if (deviceType == DeviceType.CurtainModel.ToString ()) { @@ -210,7 +221,16 @@ room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorHumidity> (jsonInfo)); } else if (deviceType == DeviceType.FreshAir.ToString ()) { room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<FreshAir> (jsonInfo)); - } + } + //else if (deviceType == DeviceType.Thermostat.ToString ()) { + // room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<Thermostat> (jsonInfo)); + //} + //else if (deviceType == DeviceType.ACMerrill.ToString ()) {//2020-03-10 鏂板缇庢灄绌鸿皟绯荤粺鏀寔 + // room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<ACMerrill> (jsonInfo)); + //} + //else if (deviceType == DeviceType.DoorLockRelay.ToString ()) { //灞忚斀缁х數鍣ㄩ棬閿� + // room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<LightDoorLock> (jsonInfo)); + //} for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) { var hideType = UserConfig.Instance.HideDeviceTypes [i]; @@ -228,7 +248,10 @@ /// <summary> /// 鎴块棿鍚� /// </summary> - public string Name { get; set; } + public string Name { + get; + set; + } public string RoomFilePath { get { @@ -238,42 +261,7 @@ } } - /// <summary> - /// 涓嶉�夋嫨鍒版埧闂存椂鍊欑殑鑳屾櫙鍥� - /// </summary> - public string UnSelectedBackgroundImage { - get; - set; - } - /// <summary> - /// 閫夋嫨鍒版埧闂寸殑鏃跺�欒儗鏅浘 - /// </summary> - public string SelectedBackgroundImage { - get; - set; - } - - /// <summary> - /// 涓嶉�夋嫨鍒版埧闂翠笅鎷夊垪琛ㄦ椂鍊欑殑鑳屾櫙鍥� - /// </summary> - public string UnSelectedListBackgroundImage { - get; - set; - } - - /// <summary> - /// 閫夋嫨鍒版埧闂寸殑涓嬫媺鍒楄〃鏃跺�欒儗鏅浘 - /// </summary> - public string SelectedListBackgroundImage { - get; - set; - } - - /// <summary> - /// 鍥炬爣 - /// </summary> - public string IconPath = "DefaultRoomIcon.png"; /// <summary> /// 鎴块棿鑳屾櫙 /// </summary> @@ -350,6 +338,9 @@ { roomFilePathList = new List<string> (); } + + if (roomFilePathList.Contains (roomFilePath)) return; + roomFilePathList.Add (roomFilePath); //var sssddsa = IO.FileUtils.ReadFiles ().FindAll ((obj) => obj.Contains ("Room_")); @@ -427,26 +418,16 @@ Save (newRoomFilePath); } + /// <summary> /// 鎵�鏈夌殑鎴块棿鍒楄〃璺緞 /// </summary> /// <value>The room file path list.</value> public static System.Collections.Generic.List<string> FilePathList { get { - var roomBytes = IO.FileUtils.ReadFile (roomListFilePath); - string roombyteString = System.Text.Encoding.UTF8.GetString (roomBytes); - var ddds = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (roombyteString); - if (ddds == null) - ddds = new List<string> (); - if (!ddds.Contains (FavoriteRoom)) { - ddds.Add (FavoriteRoom); - if (!IO.FileUtils.Exists (FavoriteRoom)) { - //榛樿娣诲姞瀵瑰簲鐨勬埧闂� - new Room () { Name = "" }.Save (FavoriteRoom); - } - IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (ddds))); - } - return ddds; + var rommBytes = IO.FileUtils.ReadFile (roomListFilePath); + string rommbyteString = System.Text.Encoding.UTF8.GetString (rommBytes); + return Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (rommbyteString); } } @@ -456,44 +437,50 @@ public static void InitAllRoom () { Lists.Clear (); - if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)))) { - //鍒濆鍖栨埧闂村垪琛� - Shared.IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (new System.Collections.Generic.List<string> ()))); - } - var roomFilePathList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath))); - if (!roomFilePathList.Contains (FavoriteRoom)) { - roomFilePathList.Add (FavoriteRoom); - if (!IO.FileUtils.Exists (FavoriteRoom)) { - //榛樿娣诲姞瀵瑰簲鐨勬埧闂� - new Room () { Name = "" }.Save (FavoriteRoom); + try { + if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)))) { + //鍒濆鍖栨埧闂村垪琛� + Shared.IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (new System.Collections.Generic.List<string> ()))); + } + var roomFilePathList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath))); + if (!roomFilePathList.Contains (FavoriteRoom)) { + roomFilePathList.Add (FavoriteRoom); + if (!IO.FileUtils.Exists (FavoriteRoom)) { + //榛樿娣诲姞瀵瑰簲鐨勬埧闂� + new Room () { Name = "" }.Save (FavoriteRoom); + } + IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (roomFilePathList))); } - IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (roomFilePathList))); - - } - - foreach (var roomFilePath in roomFilePathList) { - var room = GetRoomByFilePath (roomFilePath); - if (null != room) { - Lists.Add (room); - } - } - - for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) { - var hideType = UserConfig.Instance.HideDeviceTypes [i]; - foreach (var room in Room.Lists) { - var devices = room.DeviceList.Find ((obj) => { - return obj.DeviceTextID == hideType; - }); - if (devices != null) { - UserConfig.Instance.HideDeviceTypes.Remove (hideType); - UserConfig.Instance.SaveUserConfig (); - break; + foreach (var roomFilePath in roomFilePathList) { + var room = GetRoomByFilePath (roomFilePath); + if (null != room) { + Lists.Add (room); } } + + for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) { + var hideType = UserConfig.Instance.HideDeviceTypes [i]; + foreach (var room in Room.Lists) { + var devices = room.DeviceList.Find ((obj) => { + return obj.DeviceTextID == hideType; + }); + if (devices != null) { + UserConfig.Instance.HideDeviceTypes.Remove (hideType); + UserConfig.Instance.SaveUserConfig (); + break; + } + } + } + + + } catch { + Utlis.WriteLine ("瑙f瀽鎴块棿鍒楄〃寮傚父"); } } + + public void SaveLightScene (string roomFilePath, string SceneRemark, Scene scene) { IO.FileUtils.WriteFileByBytes (roomFilePath + "_" + SceneRemark, Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (scene))); -- Gitblit v1.8.0