From 9904031f5291daaf56985146bb671f25e18ebbdf Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 02 四月 2020 19:51:31 +0800 Subject: [PATCH] 最新代码 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs | 52 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 43 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..4952414 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs @@ -136,7 +136,7 @@ { Application.RunOnMainThread(() => { - Phone.Device.Room.RoomManagement.Instance.Show(); + MainPage.ListRoomViewFrom.Instance?.ShowForm(); }); } @@ -510,6 +510,13 @@ /// <param name="saveRealRoom">鏄惁淇敼鐪熷疄鐗╃悊璁惧鐨勬埧闂�,涓嶅嚭鎰忓,杩欎釜鍊奸粯璁や负true鍗冲彲</param> public void ChangedRoom(CommonDevice device, string roomId, bool saveRealRoom = true) { + //閫夋嫨鐨勬槸鏈垎閰� + if (roomId == string.Empty) + { + //浠庡師鏉ョ殑鎴块棿绉婚櫎璁惧 + this.DeleteDevice(device); + return; + } //鎴块棿鏄惁淇敼 if (this.IsRoomChanged(device, roomId) == false) { @@ -683,12 +690,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); } } @@ -747,6 +770,11 @@ var listEsxit = new HashSet<string>(); foreach (var room in this.dicRooms.Values) { + if (room.IsLove == true) + { + //涓嶅寘鍚敹钘忔埧闂� + continue; + } foreach (string mainkeys in room.ListDevice) { if (listEsxit.Contains(mainkeys) == false) @@ -760,15 +788,16 @@ var commonDeviceList = LocalDevice.Current.listAllDevice; foreach (var device in commonDeviceList) { + //鍒ゆ柇璇ヨ澶囪兘鍚︽樉绀哄湪涓婚〉 + if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false) + { + continue; + } string mainkeys = LocalDevice.Current.GetDeviceMainKeys(device); if (listEsxit.Contains(mainkeys) == false) { listDevice.Add(device); } - } - if (listDevice.Count == 0) - { - return null; } return listDevice; } @@ -825,7 +854,7 @@ #region 鈻� 妤煎眰鍜屾埧闂撮『搴忕浉鍏砡________________ /// <summary> - /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛� + /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛�(鏀寔鏃犳ゼ灞傛ā寮�) /// </summary> /// <param name="i_floorKeys">妤煎眰鐨勪富閿�</param> /// <param name="getShard">鍒嗕韩鐨勬埧闂存槸鍚︿篃鑾峰彇</param> @@ -854,9 +883,14 @@ 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) @@ -993,7 +1027,7 @@ if (Config.Instance.Home.ListRooms.Contains("Favorite") == false) { //榛樿娣诲姞鍠滅埍鐨勬埧闂�--绂佹淇敼鎴块棿鍚� - var love = new Room { Name = Language.StringByID(R.MyInternationalizationString.Favorite), BackgroundImage = "RoomIcon/0.JPG", Id = "Favorite" }; + var love = new Room { Name = Language.StringByID(R.MyInternationalizationString.Favorite), BackgroundImage = "RoomIcon/0.jpg", Id = "Favorite" }; love.Save(false); //娣诲姞鍒癶ouse 鎴块棿璺緞鍒楄〃 var currentHome = Config.Instance.Home; -- Gitblit v1.8.0