From 081ea8d273048fd03756718ac6fb48a3c09218e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 13:10:00 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Common/Room.cs |   37 +++++++++++++++----------------------
 1 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index c60cf9d..ed4682c 100644
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -216,8 +216,9 @@
             get
             {
                 List<DeviceUI> deviceList = new List<DeviceUI>();
-                foreach (var room in Lists)
-                {
+                for (int i = 0; i < Lists.Count; i++)
+                {
+                    var room = Lists[i];
                     if (room.IsSharedRoom)
                     {
                         continue;
@@ -226,8 +227,9 @@
                     {
                         continue;
                     }
-                    foreach (var device in room.DeviceUIList)
+                    for (int j = 0; j < room.DeviceUIList.Count; j++)
                     {
+                        var device = room.DeviceUIList[j];
                         if (device == null || device.CommonDevice == null)
                         {
                             continue;
@@ -394,7 +396,7 @@
         /// 鑾峰彇鍠滅埍鎴块棿
         /// </summary>
         /// <returns></returns>
-        public  Room GetLoveRoom()
+        public Room GetLoveRoom()
         {
             return CurrentRoom.GetRoomById(LoveRoomId);
         }
@@ -427,21 +429,8 @@
                     //璁惧锛坉eviceUI锛�
                     beforeRoom.DeviceUIList.Clear();
                     foreach (var deviceFilePath in beforeRoom.DeviceUIFilePathList)
-                    {
-                        var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(deviceFilePath));
-                        var tempDeviceUI = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceUI>(jsonInfo);
-                        if (tempDeviceUI != null)
-                        {
-                            var delCommon = tempDeviceUIList.Find((obj) => obj.CommonDevice != null && tempDeviceUI.CommonDevice != null && obj.CommonDevice.Type == tempDeviceUI.CommonDevice.Type && obj.CommonDevice.CommonDeviceAddrEpoint == tempDeviceUI.CommonDevice.CommonDeviceAddrEpoint);
-                            if (delCommon != null)
-                            {
-                                beforeRoom.DeviceUIList.Add(delCommon);
-                            }
-                            else
-                            {
-                                beforeRoom.AddDevice(deviceFilePath);
-                            }
-                        }
+                    {
+                        beforeRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(deviceFilePath));
                     }
                     //鍦烘櫙(SceneUI)
                     beforeRoom.SceneUIList.Clear();
@@ -504,6 +493,10 @@
         /// <param name="roomId">鎴块棿ID</param>
         public Room GetRoomById(string roomId)
         {
+            if (string.IsNullOrEmpty(roomId))
+            {
+                return null;
+            }
             return Lists.Find((obj) => obj.Id == roomId);
         }
 
@@ -549,7 +542,7 @@
             deviceUI.DeviceAddr = device.DeviceAddr;
             deviceUI.DeviceEpoint = device.DeviceEpoint;
 
-            return Lists.Find((obj) => obj.DeviceUIFilePathList.Contains(deviceUI.FileName));
+            return Lists.Find((obj) => obj.IsLove == false && obj.DeviceUIFilePathList.Contains(deviceUI.FileName));
         }
 
         /// <summary>
@@ -994,7 +987,7 @@
                     return -1;
                 }
             }
-            
+
             var getSceneIdAllData = await ZigBee.Device.Scene.GetSceneNewIdAsync(sceneName);
             if (getSceneIdAllData == null || getSceneIdAllData.getSceneIdData == null)
             {
@@ -1480,6 +1473,6 @@
         }
 
         #endregion
-       
+
     }
 }

--
Gitblit v1.8.0