From c47c3ec2488961b3a006aaebcb03dba582f8b19b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 12 三月 2020 17:08:42 +0800
Subject: [PATCH] 2020-03-12-1

---
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs |   81 ++++++++++++++++++++++++++--------------
 1 files changed, 52 insertions(+), 29 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index 0b71266..93cc3e8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -189,7 +189,7 @@
                 //娌℃湁璁剧疆杩囨ā寮�
                 if (AppResidenceMode == 0)
                 {
-                    var frame = new TopRightMenuControl(2);
+                    var frame = new TopRightMenuControl(2, 2);
                     //鍒涘缓妤煎眰
                     frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
                     {
@@ -266,7 +266,7 @@
         private void InitFloorRow()
         {
             //鑾峰彇妤煎眰
-            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
+            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
             this.listFloorSort.Clear();
             foreach (string keys in dicFloor.Keys)
             {
@@ -353,32 +353,40 @@
                     {
                         //绉婚櫎妤煎眰
                         Common.Config.Instance.Home.FloorDics.Remove(keys);
-                        if (Common.Room.CurrentRoom == null)
+                        if (Common.Config.Instance.Home.CurrentFloorId == keys)
                         {
-                            Common.Room.CurrentRoom = Common.Room.Lists[0];
-                        }
-                        var listDeleteFile = new List<string>();
-                        for (int i = 0; i < Common.Room.Lists.Count; i++)
-                        {
-                            if (Common.Room.Lists[i].FloorId == keys)
+                            //濡傛灉鍒犻櫎鐨勬槸褰撳墠妤煎眰鐨勮瘽
+                            Common.Config.Instance.Home.CurrentFloorId = string.Empty;
+                            foreach (string floorId in Common.Config.Instance.Home.FloorDics.Keys)
                             {
-                                listDeleteFile.Add(Common.Room.Lists[i].FileName);
+                                //鎶婄涓�涓ゼ灞侷D缁欏畠
+                                Common.Config.Instance.Home.CurrentFloorId = floorId;
+                                break;
                             }
                         }
-                        //鍒犻櫎鎴块棿
-                        foreach (string fileName in listDeleteFile)
+                        var listDeleteId = new List<string>();
+                        var listAllRoom = HdlRoomLogic.Current.GetAllListRooms();
+                        for (int i = 0; i < listAllRoom.Count; i++)
                         {
-                            Common.Room.CurrentRoom.Remove(fileName);
+                            if (listAllRoom[i].FloorId == keys)
+                            {
+                                listDeleteId.Add(listAllRoom[i].Id);
+                            }
                         }
                         //濡傛灉褰撳墠閫夋嫨鐨勬埧闂存槸鍒犻櫎瀵硅薄鐨勮瘽
-                        if (Common.Room.CurrentRoom.FloorId == keys)
+                        if (HdlRoomLogic.Current.CurrentRoom.FloorId == keys)
                         {
-                            Common.Room.CurrentRoom = Common.Room.Lists[0];
+                            HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
+                        }
+                        //鍒犻櫎鎴块棿
+                        foreach (string roomId in listDeleteId)
+                        {
+                            HdlRoomLogic.Current.RemoveRoom(roomId);
                         }
                         Common.Config.Instance.Home.Save();
                         //淇濆瓨椤哄簭
                         listFloorSort.Remove(keys);
-                        Common.Room.CurrentRoom.SaveFloorSort(listFloorSort);
+                        HdlRoomLogic.Current.SaveFloorSort(listFloorSort);
 
                         if (Common.Config.Instance.Home.FloorDics.Count == 0)
                         {
@@ -414,8 +422,15 @@
             }
             //璇疯緭鍏ユゼ灞傚悕绉�
             dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName));
-            dialogForm.Text = floorName;
-
+            if (Common.Config.Instance.Home.FloorDics.ContainsKey(keys) == true)
+            {
+                dialogForm.Text = Common.Config.Instance.Home.FloorDics[keys];
+                floorName = Common.Config.Instance.Home.FloorDics[keys];
+            }
+            else
+            {
+                dialogForm.Text = floorName;
+            }
             //鎸変笅纭鎸夐挳
             dialogForm.ComfirmClickEvent += ((textValue) =>
             {
@@ -487,7 +502,7 @@
         private void InitRoomListRow()
         {
             //鑾峰彇妤煎眰鐨勬埧闂�
-            var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty);
+            var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty);
             this.listRoomSort.Clear();
             for (int i = 0; i < listRoom.Count; i++)
             {
@@ -560,17 +575,18 @@
                 //纭鍒犻櫎鎴块棿?
                 this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteRoomMsg), () =>
                 {
-                    if (Common.Room.CurrentRoom.Id == room.Id)
+                    if (HdlRoomLogic.Current.CurrentRoom.Id == room.Id)
                     {
                         //濡傛灉鍒犻櫎鐨勬槸褰撳墠鎴块棿鐨勮瘽
-                        Common.Room.CurrentRoom = Common.Room.Lists[0];
+                        HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
                     }
-                    Common.Room.CurrentRoom.Remove(room.FileName);
+                    HdlRoomLogic.Current.RemoveRoom(room.Id);
                     //淇濆瓨椤哄簭
                     this.listRoomSort.Remove(room.Id);
-                    Common.Room.CurrentRoom.SaveRoomSort(string.Empty, this.listRoomSort);
+                    HdlRoomLogic.Current.SaveRoomSort(string.Empty, this.listRoomSort);
 
-                    if (Common.Room.Lists.Count <= 1)
+                    var listAllRoom = HdlRoomLogic.Current.GetAllListRooms();
+                    if (listAllRoom.Count <= 1)
                     {
                         //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
                         this.InitFrameTableByMode();
@@ -601,10 +617,10 @@
             Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
 
             bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
-            //鍏抽棴杩涘害鏉�
-            this.CloseProgressBar();
             if (result == false)
             {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
                 return;
             }
 
@@ -636,9 +652,10 @@
             Common.Config.Instance.HomeId = myHouse.Id;
             Common.Global.CreateHomeDirectory(myHouse.Id);
             Common.Config.Instance.Save();
+
             //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-            await UserCenterLogic.InitUserCenterMenmoryAndThread();
-            Common.Room.InitAllRoom();
+            await UserCenterLogic.InitUserCenterMenmoryAndThread(false);
+            HdlRoomLogic.Current.InitAllRoom();
 
             //鍒犻櫎浣忓畢
             Common.House.DeleteHouseByHouseId(deleteId);
@@ -684,6 +701,12 @@
             var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway();
             foreach (var gateway in listGateway)
             {
+                ZigBee.Device.ZbGateway realWay = null;
+                if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, gateway) == false)
+                {
+                    //閿欒:缃戝叧瀵硅薄涓㈠け
+                    continue;
+                }
                 var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude);
                 if (result == false)
                 {
@@ -720,7 +743,7 @@
                 //鎷ユ湁妤煎眰
                 return 1;
             }
-            if (Common.Room.Lists.Count > 1)
+            if (HdlRoomLogic.Current.GetAllListRooms().Count > 1)
             {
                 //鏃犳ゼ灞傛ā寮�
                 return 2;

--
Gitblit v1.8.0