From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs | 61 ++++++++++++++++-------------- 1 files changed, 32 insertions(+), 29 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs index 8daca3a..75af7bc 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlRoomLogic.cs @@ -31,32 +31,14 @@ return m_Current; } } - /// <summary> - /// 褰撳墠閫夋嫨鐨勬埧闂� + /// 褰撳墠涓婚〉閫夋嫨鐨勬埧闂村璞� /// </summary> - private Room m_CurrentRoom = null; + public Room NowMainPageRoom = null; /// <summary> - /// 褰撳墠閫夋嫨鐨勬埧闂� + /// 褰撳墠鍒嗙被閫夋嫨鐨勬埧闂村璞� /// </summary> - public Room CurrentRoom - { - get - { - if (m_CurrentRoom == null && dicRooms.Count > 0) - { - //璁剧疆鍒濆鍊� - foreach (var room in dicRooms.Values) - { - m_CurrentRoom = room; - break; - } - } - return m_CurrentRoom; - } - set { m_CurrentRoom = value; } - } - + public Room NowCategoryRoom = null; /// <summary> /// 鎵�鏈夌殑鎴块棿淇℃伅 /// </summary> @@ -72,6 +54,9 @@ /// </summary> public void InitAllRoom() { + this.NowMainPageRoom = null; + this.NowCategoryRoom = null; + //娓呯┖鏈湴缂撳瓨 this.dicRooms.Clear(); //妫�娴嬫垜鐨勫枩鐖辫繖涓埧闂村璞� @@ -143,7 +128,7 @@ { Application.RunOnMainThread(() => { - MainPage.ListRoomViewFrom.Instance?.ShowForm(); + MainPage.ListRoomViewFrom.Instance?.RefreshListRoom(); }); } @@ -305,6 +290,10 @@ Global.DeleteFilebyHomeId(roomFilePath); } HdlAutoBackupLogic.DeleteFile(roomFilePath); + + //鏍规嵁鎴块棿ID,绉婚櫎鎸囧畾鐨勭湡瀹炵墿鐞嗚澶囩殑鎵�灞炴埧闂磋褰� + Common.LocalDevice.Current.DeleteRealDeviceByRoomId(roomId); + //鍒锋柊鎴块棿瑙嗗浘鍒楄〃 this.RefreshRoomListView(); } @@ -582,6 +571,10 @@ { //浠庡師鏉ョ殑鎴块棿绉婚櫎璁惧 this.DeleteDevice(device); + //绉婚櫎鎴戠殑鍠滅埍 + this.DeleteLoveDevice(device); + //璁惧鏀瑰彉鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshForm = true; return; } //鎴块棿鏄惁淇敼 @@ -589,8 +582,8 @@ { return; } - //浠庡師鏉ョ殑鎴块棿绉婚櫎璁惧 - this.DeleteDevice(device); + //浠庡師鏉ョ殑鎴块棿绉婚櫎璁惧,杩欓噷涓嶅垹闄ょ湡瀹炶澶囩殑鎴块棿 + this.DeleteDevice(device, false); //娣诲姞鍒版柊鐨勬埧闂� var room = this.GetRoomById(roomId); @@ -598,6 +591,8 @@ { this.AddDevice(room, device, saveRealRoom); } + //璁惧鏀瑰彉鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshForm = true; } /// <summary> @@ -627,7 +622,7 @@ { return i_room.Name; } - var floorName = Config.Instance.Home.GetFloorNameById(i_room.FloorId); + var floorName = HdlResidenceLogic.Current.GetFloorNameById(i_room.FloorId); if (floorName == null) { return i_room.Name; @@ -701,12 +696,20 @@ /// 鍒犻櫎璁惧(杩欎釜鍑芥暟涓嶅垹闄ゆ垜鐨勫枩鐖�) /// </summary> /// <param name="device">瑕佸垹闄ょ殑璁惧瀵硅薄</param> - public void DeleteDevice(CommonDevice device) + /// <param name="deleteReal">鏄惁鍒犻櫎鐪熷疄鐗╃悊璁惧鐨勬埧闂�</param> + public void DeleteDevice(CommonDevice device, bool deleteReal = true) { if (device == null) { return; } + //濡傛灉瀹冨彧鏈変竴涓洖璺� + if (deleteReal == true && LocalDevice.Current.GetDevicesCountByMac(device.DeviceAddr) == 1) + { + //鍒犻櫎鎺夊畠鐨勭湡瀹炵墿鐞嗚澶囩殑鎵�鍦ㄤ綅缃� + LocalDevice.Current.DeleteRealDeviceFromRoom(device); + } + //鏍规嵁璁惧锛岃幏鍙栨墍鍦ㄧ殑鎴块棿 var room = this.GetRoomByDevice(device); if (room == null) @@ -721,7 +724,7 @@ HdlAutoBackupLogic.AddOrEditorFile(room.FileName); //閫掑綊锛氬垹闄ゆ帀浠ュ墠鐨勬棫鏁版嵁瀵艰嚧鐨勫涓埧闂寸殑闂 - this.DeleteDevice(device); + this.DeleteDevice(device, deleteReal); } /// <summary> @@ -921,7 +924,7 @@ #region 鈻� 妤煎眰鍜屾埧闂撮『搴忕浉鍏砡________________ /// <summary> - /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛�(鏀寔鏃犳ゼ灞傛ā寮�) + /// 鏍规嵁妤煎眰鐨勪富閿幏鍙栨帓搴忓悗鐨勬埧闂村垪琛�(鏀寔鏃犳ゼ灞傛ā寮�,涓嶈幏鍙栨敹钘忔埧闂�) /// </summary> /// <param name="i_floorKeys">妤煎眰鐨勪富閿�</param> /// <param name="getShard">鍒嗕韩鐨勬埧闂存槸鍚︿篃鑾峰彇</param> -- Gitblit v1.8.0