From a4924de3136289d10cabbf2f61a228387d44ded7 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期四, 07 十一月 2019 13:48:36 +0800 Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC --- ZigbeeApp/Shared/Common/Room.cs | 52 ++++++++++++++++++++++++++++------------------------ 1 files changed, 28 insertions(+), 24 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs index a0c4875..dbaa949 100644 --- a/ZigbeeApp/Shared/Common/Room.cs +++ b/ZigbeeApp/Shared/Common/Room.cs @@ -76,10 +76,26 @@ /// </summary> public string HumidityDevice = string.Empty; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬埧闂� + /// </summary> + private static Room m_CurrentRoom = null; /// <summary> /// 褰撳墠閫夋嫨鐨勬埧闂� /// </summary> - public static Room CurrentRoom; + [Newtonsoft.Json.JsonIgnore] + public static Room CurrentRoom + { + get + { + if (m_CurrentRoom == null && Lists.Count > 0) + { + return Lists[0]; + } + return m_CurrentRoom; + } + set { m_CurrentRoom = value; } + } /// <summary> /// 鎴块棿閲屾墍鏈夌殑璁惧鍒楄〃 @@ -551,11 +567,8 @@ /// <param name="device">璁惧瀵硅薄</param> public Room GetRoomByDevice(CommonDevice device) { - var deviceUI = new DeviceUI { }; - deviceUI.DeviceAddr = device.DeviceAddr; - deviceUI.DeviceEpoint = device.DeviceEpoint; - - return Lists.Find((obj) => obj.DeviceUIFilePathList.Contains(deviceUI.FileName)); + string deviceFile = device.FilePath; + return Lists.Find((obj) => obj.IsLove == false && obj.DeviceUIFilePathList.Contains(deviceFile)); } /// <summary> @@ -769,9 +782,8 @@ { return; } - var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(deviceUIFilePath)); - var deviceUI = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceUI>(jsonInfo); - if (null == deviceUI || null == deviceUI.CommonDevice) + var deviceUI = Common.LocalDevice.Current.GetDeviceUI(deviceUIFilePath); + if (null == deviceUI.CommonDevice) { //褰撳墠瀵硅薄鏁版嵁鏃犳晥 return; @@ -801,7 +813,7 @@ //娣诲姞鑷姩澶囦唤 HdlAutoBackupLogic.AddOrEditorFile(device.FilePath); - DeviceUI deviceUI = Common.LocalDevice.Current.GetDeviceUI(device); + var deviceUI = Common.LocalDevice.Current.GetDeviceUI(device); if (DeviceUIFilePathList.Contains(deviceUI.FileName) == false) { DeviceUIFilePathList.Add(deviceUI.FileName); @@ -824,11 +836,10 @@ public void DeleteDevice(string deviceUIFilePath) { if (deviceUIFilePath == null) return; - if (DeviceUIFilePathList.Contains(deviceUIFilePath) && Global.IsExistsByHomeId(deviceUIFilePath)) + if (DeviceUIFilePathList.Contains(deviceUIFilePath)) { DeviceUIFilePathList.Remove(deviceUIFilePath); DeviceUIList.RemoveAll((obj) => obj.FileName == deviceUIFilePath); - HdlAutoBackupLogic.DeleteFile(deviceUIFilePath); Save(); } } @@ -843,24 +854,21 @@ { return; } - DeviceUI deviceUI = new DeviceUI(); - deviceUI.DeviceAddr = device.DeviceAddr; - deviceUI.DeviceEpoint = device.DeviceEpoint; - //鏍规嵁璁惧锛岃幏鍙栨墍鍦ㄧ殑鎴块棿 var room = this.GetRoomByDevice(device); if (room == null) { return; } + string deviceFile = device.FilePath; //绉婚櫎缂撳瓨 - if (room.DeviceUIFilePathList.Contains(deviceUI.FileName) == false) + if (room.DeviceUIFilePathList.Contains(deviceFile) == false) { return; } - room.DeviceUIFilePathList.Remove(deviceUI.FileName); + room.DeviceUIFilePathList.Remove(deviceFile); - room.DeviceUIList.RemoveAll((obj) => obj.FileName == deviceUI.FileName); + room.DeviceUIList.RemoveAll((obj) => obj.FileName == deviceFile); room.Save(); //鏇存敼鑷姩澶囦唤 HdlAutoBackupLogic.AddOrEditorFile(room.FileName); @@ -895,11 +903,7 @@ } listDevice.Add(device.CommonDevice); } - if (listDevice.Count == 0) - { - return listDevice; - } - return Common.LocalDevice.Current.SortDevice(listDevice); + return listDevice; } /// <summary> -- Gitblit v1.8.0