From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 23 三月 2020 18:20:50 +0800 Subject: [PATCH] 2020-03-23-3 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs index a44eb08..f173892 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs @@ -76,7 +76,7 @@ this.dicRooms.Clear(); //妫�娴嬫垜鐨勫枩鐖辫繖涓埧闂村璞� this.CheckLoveRoom(); - + foreach (var roomId in Config.Instance.Home.ListRooms) { //浠庢枃浠堕噷闈㈣幏鍙栨埧闂村璞� @@ -136,7 +136,7 @@ { Application.RunOnMainThread(() => { - Phone.Device.Room.RoomManagement.Instance.Show(); + MainPage.ListRoomViewFrom.Instance?.ShowForm(); }); } @@ -683,12 +683,28 @@ /// <returns></returns> public List<CommonDevice> GetRoomListDevice(Room i_room) { - var listDevice = new List<CommonDevice>(); + var dicSort = new Dictionary<string, List<int>>(); foreach (var mainKeys in i_room.ListDevice) { var device = LocalDevice.Current.GetDevice(mainKeys); if (device != null) { + if (dicSort.ContainsKey(device.DeviceAddr) == false) + { + dicSort[device.DeviceAddr] = new List<int>(); + } + dicSort[device.DeviceAddr].Add(device.DeviceEpoint); + } + } + var listDevice = new List<CommonDevice>(); + foreach (var strMac in dicSort.Keys) + { + var listEpont = dicSort[strMac]; + //鎺掑簭 + listEpont.Sort(); + for (int i = 0; i < listEpont.Count; i++) + { + var device = LocalDevice.Current.GetDevice(strMac, listEpont[i]); listDevice.Add(device); } } @@ -766,10 +782,6 @@ listDevice.Add(device); } } - if (listDevice.Count == 0) - { - return null; - } return listDevice; } @@ -825,7 +837,7 @@ #region 鈻� 妤煎眰鍜屾埧闂撮『搴忕浉鍏砡________________ /// <summary> - /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛� + /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛�(鏀寔鏃犳ゼ灞傛ā寮�) /// </summary> /// <param name="i_floorKeys">妤煎眰鐨勪富閿�</param> /// <param name="getShard">鍒嗕韩鐨勬埧闂存槸鍚︿篃鑾峰彇</param> @@ -854,11 +866,16 @@ var dicRoom = new Dictionary<string, Common.Room>(); foreach (var room in this.dicRooms.Values) { - if (room.FloorId != i_floorKeys || room.IsLove == true) + if (room.FloorId != i_floorKeys && i_floorKeys != string.Empty) { //涓嶆槸鍚屼竴涓ゼ灞� continue; } + if (room.IsLove == true) + { + //涓嶈鎴戠殑鍠滅埍 + continue; + } if (listRoomSort.Contains(room.Id) == false) { //鏂版坊鍔犵殑鎴块棿 -- Gitblit v1.8.0