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