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