From 7e863a33397f317ffc3ffd9288496d0e4f16aa66 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 12 十二月 2019 14:58:20 +0800
Subject: [PATCH] 合并了新代码

---
 ZigbeeApp/Shared/Common/Room.cs |   44 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index b11598c..65f8a03 100755
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -323,15 +323,45 @@
                 homeTemp.AddRoomListFilePath(fRoom);
             }
 
+            var listRoomFile = new List<string>();
             foreach (string fileName in listFile)
             {
                 if (fileName.StartsWith("Room_"))
                 {
                     homeTemp.AddRoomListFilePath(fileName);
+                    listRoomFile.Add(fileName);
                 }
             }
+            //妫�娴嬫ゼ灞傛暟鎹殑鍚堟硶鎬�
+            CheckFloorData(listRoomFile);
+
             homeTemp.Save(false);
             InitAllRoom();
+        }
+
+        /// <summary>
+        /// 妫�娴嬫ゼ灞傛暟鎹殑鍚堟硶鎬�
+        /// </summary>
+        /// <param name="listRoomFile"></param>
+        private static void CheckFloorData(List<string> listRoomFile)
+        {
+            for (int i = 0; i < listRoomFile.Count; i++)
+            {
+                try
+                {
+                    var byteData = Global.ReadFileByHomeId(listRoomFile[i]);
+                    string valueData = System.Text.Encoding.UTF8.GetString(byteData);
+                    var roomTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Room>(valueData);
+
+                    //妫�娴嬪涓墜鏈烘潵鍥炲垱寤�,鐒跺悗鍙堝垹闄や箣鍚�,妤煎眰鏁版嵁涓嶈兘淇濊瘉100%鍚屾鐨勯棶棰�
+                    if (roomTemp.FloorId != string.Empty && Config.Instance.Home.FloorDics.ContainsKey(roomTemp.FloorId) == false)
+                    {
+                        //鏈煡妤煎眰
+                        Config.Instance.Home.FloorDics[roomTemp.FloorId] = Language.StringByID(R.MyInternationalizationString.uUnKnownFloor);
+                    }
+                }
+                catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); }
+            }
         }
 
         #endregion
@@ -591,6 +621,10 @@
         /// <returns></returns>
         public List<Room> GetRoomsByFloorId(string id)
         {
+            if (Config.Instance.Home.FloorDics.Count == 0)
+            {
+                return Lists;
+            }
             return Lists.FindAll((obj) => obj.FloorId == id);
         }
         /// <summary>
@@ -598,12 +632,12 @@
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        public  List<string> GetRoomNamesByFloorId(string id)
+        public List<string> GetRoomNamesByFloorId(string id)
         {
             List<string> names = new List<string> { };
-            foreach(var r in Lists)
+            foreach (var r in Lists)
             {
-                if(r.FloorId==id)
+                if (r.FloorId == id)
                 {
                     names.Add(r.Name);
                 }
@@ -618,6 +652,10 @@
         /// <returns></returns>
         public  List<Room> GetRoomsByFloorIdAppendLoveRoom(string id)
         {
+            if (Config.Instance.Home.FloorDics.Count == 0)
+            {
+                return Lists;
+            }
             var r= Lists.FindAll((obj) => obj.FloorId == id);
             r.Insert(0, GetLoveRoom());
             return r;

--
Gitblit v1.8.0