From c7698e163e43cea9e7f8ee45f8e3f91c9265cca4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 04 十一月 2019 19:11:41 +0800 Subject: [PATCH] 合并了全部的代码 --- ZigbeeApp/Shared/Common/Room.cs | 46 ++++++++++++++++++++-------------------------- 1 files changed, 20 insertions(+), 26 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs index 50956db..fd52a18 100755 --- 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; @@ -491,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); } @@ -532,11 +538,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.IsLove == false && obj.DeviceUIFilePathList.Contains(deviceUI.FileName)); + string deviceFile = device.FilePath; + return Lists.Find((obj) => obj.IsLove == false && obj.DeviceUIFilePathList.Contains(deviceFile)); } /// <summary> @@ -745,9 +748,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; @@ -777,7 +779,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); @@ -800,11 +802,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(); } } @@ -819,24 +820,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); @@ -871,11 +869,7 @@ } listDevice.Add(device.CommonDevice); } - if (listDevice.Count == 0) - { - return listDevice; - } - return Common.LocalDevice.Current.SortDevice(listDevice); + return listDevice; } /// <summary> -- Gitblit v1.8.0