From 081ea8d273048fd03756718ac6fb48a3c09218e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 13:10:00 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs |  634 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 447 insertions(+), 187 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index 3570f6e..f7e7f35 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -12,17 +12,25 @@
         #region 鈻� 鍙橀噺澹版槑___________________________
 
         /// <summary>
+        /// 妗屽竷鎺т欢
+        /// </summary>
+        private FrameLayout frameTable = null;
+        /// <summary>
         /// 鍒楄〃鎺т欢
         /// </summary>
         private VerticalListControl listView = null;
         /// <summary>
-        /// 鍒楄〃鎺т欢鏈�澶ч珮搴�
-        /// </summary>
-        private int MaxListViewHeight = 0;
-        /// <summary>
         /// 妤煎眰椤哄簭
         /// </summary>
         private List<string> listFloorSort = new List<string>();
+        /// <summary>
+        /// 鎴块棿椤哄簭
+        /// </summary>
+        private List<string> listRoomSort = new List<string>();
+        /// <summary>
+        /// 褰撳墠APP鐨勪綇瀹呮ā寮� 0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡
+        /// </summary>
+        private int AppResidenceMode = 0;
 
         #endregion
 
@@ -37,52 +45,174 @@
             //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Common.Config.Instance.Home.Name);
 
-            //鍒ゆ柇鑳藉惁鍒犻櫎浣忓畢
-            if (i_CanDeleteResidence == true)
+            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
             {
                 //鍒濆鍖栧彸涓婅鑿滃崟
                 this.InitTopRightMenu();
             }
             //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame();
+            this.InitMiddleFrame(i_CanDeleteResidence);
         }
 
         /// <summary>
         /// 鍒濆鍖栦腑閮ㄤ俊鎭�
         /// </summary>
-        private void InitMiddleFrame()
+        /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param>
+        private void InitMiddleFrame(bool i_CanDeleteResidence)
         {
             //娓呯┖bodyFrame
             this.ClearBodyFrame();
 
-            var frameHome = new FrameRowControl();
-            frameHome.Height = Application.GetRealHeight(173);
-            frameHome.BackgroundColor = UserCenterColor.Current.White;
-            bodyFrameLayout.AddChidren(frameHome);
+            var rowHome = new RowLayoutControl();
+            rowHome.Height = Application.GetRealHeight(173);
+            rowHome.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(rowHome);
 
-            var btnAdreeIcon = frameHome.AddLeftIcon(81);
+            var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81);
             btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png";
 
             //浣忓畢鍚嶇О
-            var btnHomeName = frameHome.AddLeftCaption(Common.Config.Instance.Home.Name, 700, 60);
+            var btnHomeName = rowHome.frameTable.AddLeftCaption(Common.Config.Instance.Home.Name, 700, 60);
             btnHomeName.TextSize = 15;
             btnHomeName.Y = Application.GetRealHeight(35);
-            frameHome.AddChidren(btnHomeName, ChidrenBindMode.BindEventOnly);
+            rowHome.frameTable.AddChidren(btnHomeName, ChidrenBindMode.BindEventOnly);
             //褰撳墠浣忓畢
-            var btnNowView = frameHome.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNowResidence), 700, 49);
+            var btnNowView = rowHome.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNowResidence), 700, 49);
             btnNowView.TextSize = 12;
             btnNowView.Y = Application.GetRealHeight(95);
             btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1;
-            frameHome.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
+            rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
             //鍙崇澶�
-            frameHome.AddRightArrow();
+            rowHome.frameTable.AddRightArrow();
 
+            if (i_CanDeleteResidence == true)
+            {
+                //鍒犻櫎
+                var btnDelete = new NormalViewControl(Application.GetRealWidth(184), rowHome.Height, false);
+                btnDelete.BackgroundColor = 0xfff75858;
+                btnDelete.TextAlignment = TextAlignment.Center;
+                btnDelete.TextColor = UserCenterColor.Current.White;
+                btnDelete.TextSize = 12;
+                btnDelete.TextID = R.MyInternationalizationString.uDelete;
+                rowHome.AddRightView(btnDelete);
+                btnDelete.ButtonClickEvent += (sender, e) =>
+                {
+                    //纭鍒犻櫎浣忓畢鍙婃墍鏈夋ゼ灞傘�佹埧闂�?
+                    string msg = Language.StringByID(R.MyInternationalizationString.uDeleteResidenceMsg);
+                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                    {
+                        HdlThreadLogic.Current.RunThread(() =>
+                        {
+                            this.DeleteResidence();
+                        });
+                    });
+                };
+            }
+            //鍒濆鍖栨甯�
+            this.frameTable = new FrameLayout();
+            frameTable.Y = rowHome.Bottom + Application.GetRealHeight(23);
+            frameTable.Height = bodyFrameLayout.Height - rowHome.Bottom - Application.GetRealHeight(23);
+            bodyFrameLayout.AddChidren(frameTable);
+
+            //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+            this.InitFrameTableByMode();
+        }
+
+        /// <summary>
+        /// 鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+        /// </summary>
+        private void InitFrameTableByMode()
+        {
+            this.frameTable.RemoveAll();
+
+            //0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡
+            AppResidenceMode = this.CheckAppResidenceMode();
+            if (AppResidenceMode == 1)
+            {
+                //鍒濆鍖栨ゼ灞傛ā寮�
+                this.InitControlByFloorMode();
+            }
+            else if (AppResidenceMode == 2)
+            {
+                //鍒濆鍖栨棤妤煎眰妯″紡
+                this.InitControlByNotFloorMode();
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 鍙充笂瑙掕彍鍗昣________________________
+
+        /// <summary>
+        /// 鍒濆鍖栧彸涓婅鑿滃崟
+        /// </summary>
+        private void InitTopRightMenu()
+        {
+            var btnIcon = new MostRightIconControl(69, 69);
+            btnIcon.UnSelectedImagePath = "Item/Add.png";
+            topFrameLayout.AddChidren(btnIcon);
+            btnIcon.InitControl();
+            btnIcon.ButtonClickEvent += ((sender, e) =>
+            {
+                //0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡
+                AppResidenceMode = this.CheckAppResidenceMode();
+                //娌℃湁璁剧疆杩囨ā寮�
+                if (AppResidenceMode == 0)
+                {
+                    var frame = new TopRightMenuControl(2);
+                    //鍒涘缓妤煎眰
+                    frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
+                    {
+                        //鍒涘缓妤煎眰
+                        this.CreatOrEditorFloor(null, string.Empty, string.Empty);
+                    });
+                    //鍒涘缓鎴块棿
+                    frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatRoom), "Item/RoomIcon.png", "Item/RoomIconSelected.png", () =>
+                    {
+                        var form = new AddNewRoomForm();
+                        form.AddForm(string.Empty);
+                        form.FinishEditorEvent += () =>
+                        {
+                            //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+                            this.InitFrameTableByMode();
+                        };
+                    });
+                }
+                //妤煎眰妯″紡
+                else if (AppResidenceMode == 1)
+                {
+                    //鍒涘缓妤煎眰
+                    this.CreatOrEditorFloor(null, string.Empty, string.Empty);
+                }
+                //鏃犳ゼ灞傛ā寮�
+                else if (AppResidenceMode == 2)
+                {
+                    var form = new AddNewRoomForm();
+                    form.AddForm(string.Empty);
+                    form.FinishEditorEvent += () =>
+                    {
+                        //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+                        this.InitFrameTableByMode();
+                    };
+                }
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖栨ゼ灞傛ā寮廮____________________
+
+        /// <summary>
+        /// 鍒濆鍖栨ゼ灞傛ā寮�
+        /// </summary>
+        private void InitControlByFloorMode()
+        {
             var frameFloor = new FrameRowControl();
             frameFloor.UseClickStatu = false;
-            frameFloor.Y = frameHome.Bottom + Application.GetRealHeight(23);
             frameFloor.Height = Application.GetRealHeight(115);
             frameFloor.BackgroundColor = UserCenterColor.Current.White;
-            bodyFrameLayout.AddChidren(frameFloor);
+            frameTable.AddChidren(frameFloor);
 
             //妤煎眰
             var btnFloor = frameFloor.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFloor), 200, 60);
@@ -90,26 +220,12 @@
             btnFloor.TextColor = UserCenterColor.Current.TextColor2;
             btnFloor.TextSize = 15;
             frameFloor.AddChidren(btnFloor, ChidrenBindMode.NotBind);
-            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
-            {
-                //娣诲姞妤煎眰
-                var btnAddFloor = frameFloor.AddMostRightEmptyIcon(69, 69);
-                frameFloor.ChangedChidrenBindMode(btnAddFloor, ChidrenBindMode.NotBind);
-                btnAddFloor.Y = Application.GetRealHeight(46);
-                btnAddFloor.UnSelectedImagePath = "Item/Add.png";
-                btnAddFloor.ButtonClickEvent += (sender, e) =>
-                {
-                    //鍒涘缓妤煎眰
-                    this.CreatOrEditorFloor(string.Empty, string.Empty);
-                };
-            }
 
-            this.MaxListViewHeight = bodyFrameLayout.Height - frameFloor.Bottom;
             listView = new VerticalListControl(29);
             listView.BackgroundColor = UserCenterColor.Current.White;
             listView.Y = frameFloor.Bottom;
-            listView.Height = MaxListViewHeight;
-            bodyFrameLayout.AddChidren(listView);
+            listView.Height = frameTable.Height - frameFloor.Bottom;
+            frameTable.AddChidren(listView);
 
             //鍒濆鍖栨ゼ灞傝
             this.InitFloorRow();
@@ -128,8 +244,6 @@
                 listFloorSort.Add(keys);
             }
 
-            listView.Height = MaxListViewHeight;
-            listView.RemoveAll();
             if (Common.Config.Instance.Home.FloorDics.Count == 0)
             {
                 return;
@@ -191,8 +305,8 @@
                 frameRow.AddRightView(btnChanged);
                 btnChanged.ButtonClickEvent += (sender, e) =>
                 {
-                //鍒涘缓鎴栬�呯紪杈戞ゼ灞�
-                this.CreatOrEditorFloor(keys, floorName);
+                    //鍒涘缓鎴栬�呯紪杈戞ゼ灞�
+                    this.CreatOrEditorFloor(btnFloor, keys, floorName);
                 };
 
                 //鍒犻櫎
@@ -205,22 +319,60 @@
                 frameRow.AddRightView(btnDelete);
                 btnDelete.ButtonClickEvent += (sender, e) =>
                 {
-                    //鍒犻櫎妤煎眰
-                    this.DeleteFloor(keys);
+                    //纭鍒犻櫎妤煎眰鍙婂叾鎵�鏈夋埧闂�?
+                    this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteFloorMsg), () =>
+                    {
+                        //绉婚櫎妤煎眰
+                        Common.Config.Instance.Home.FloorDics.Remove(keys);
+                        if (Common.Room.CurrentRoom == null)
+                        {
+                            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)
+                            {
+                                listDeleteFile.Add(Common.Room.Lists[i].FileName);
+                            }
+                        }
+                        //鍒犻櫎鎴块棿
+                        foreach (string fileName in listDeleteFile)
+                        {
+                            Common.Room.CurrentRoom.Remove(fileName);
+                        }
+                        //濡傛灉褰撳墠閫夋嫨鐨勬埧闂存槸鍒犻櫎瀵硅薄鐨勮瘽
+                        if (Common.Room.CurrentRoom.FloorId == keys)
+                        {
+                            Common.Room.CurrentRoom = Common.Room.Lists[0];
+                        }
+                        Common.Config.Instance.Home.Save();
+                        //淇濆瓨椤哄簭
+                        listFloorSort.Remove(keys);
+                        Common.Room.CurrentRoom.SaveFloorSort(listFloorSort);
+
+                        if (Common.Config.Instance.Home.FloorDics.Count == 0)
+                        {
+                            //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+                            this.InitFrameTableByMode();
+                        }
+                        else
+                        {
+                            frameRow.RemoveFromParent();
+                            listView.AdjustRealHeight(Application.GetRealHeight(23));
+                        }
+                    });
                 };
             }
         }
 
-        #endregion
-
-        #region 鈻� 鍒涘缓鎴栫紪杈戞ゼ灞俖____________________
-
         /// <summary>
         /// 鍒涘缓鎴栬�呯紪杈戞ゼ灞�
         /// </summary>
+        /// <param name="btnFloor"></param>
         /// <param name="keys"></param>
         /// <param name="floorName"></param>
-        private void CreatOrEditorFloor(string keys, string floorName)
+        private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName)
         {
             //鐢熸垚涓�涓脊绐楃敾闈�
             var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
@@ -254,11 +406,257 @@
                     }
                     Common.Config.Instance.Home.FloorDics[keys] = textValue;
                     Common.Config.Instance.Home.Save();
-                    //閲嶆柊鍒濆鍖栨ゼ灞傝
-                    this.InitFloorRow();
+                    if (btnFloor != null)
+                    {
+                        btnFloor.Text = textValue;
+                    }
+                    else
+                    {
+                        //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+                        this.InitFrameTableByMode();
+                    }
                 }
             });
         }
+
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖栨棤妤煎眰妯″紡___________________
+
+        /// <summary>
+        /// 鍒濆鍖栨棤妤煎眰妯″紡
+        /// </summary>
+        private void InitControlByNotFloorMode()
+        {
+            var frameRoom = new FrameRowControl();
+            frameRoom.UseClickStatu = false;
+            frameRoom.Height = Application.GetRealHeight(115);
+            frameRoom.BackgroundColor = UserCenterColor.Current.White;
+            frameTable.AddChidren(frameRoom);
+
+            //鎴块棿鍒楄〃
+            var btnRoomList = frameRoom.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uRoomList), 200, 60);
+            btnRoomList.Y = Application.GetRealHeight(50);
+            btnRoomList.TextColor = UserCenterColor.Current.TextColor2;
+            btnRoomList.TextSize = 15;
+            frameRoom.AddChidren(btnRoomList, ChidrenBindMode.NotBind);
+
+            listView = new VerticalListControl(29);
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            listView.Y = frameRoom.Bottom;
+            listView.Height = frameTable.Height - frameRoom.Bottom;
+            frameTable.AddChidren(listView);
+
+            //鍒濆鍖栨埧闂村垪琛�
+            this.InitRoomListRow();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栨埧闂村垪琛�
+        /// </summary>
+        private void InitRoomListRow()
+        {
+            //鑾峰彇妤煎眰鐨勬埧闂�
+            var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty);
+            this.listRoomSort.Clear();
+            for (int i = 0; i < listRoom.Count; i++)
+            {
+                this.listRoomSort.Add(listRoom[i].Id);
+            }
+
+            for (int i = 0; i < listRoom.Count; i++)
+            {
+                //娣诲姞鎴块棿琛�
+                this.AddRoomRow(listRoom[i], i != listRoom.Count - 1);
+            }
+            //璋冩暣鎺т欢鐪熷疄楂樺害
+            listView.AdjustRealHeight(Application.GetRealHeight(23));
+        }
+
+        #endregion
+
+        #region 鈻� 娣诲姞鎴块棿琛宊________________________
+
+        /// <summary>
+        /// 娣诲姞鎴块棿琛�
+        /// </summary>
+        /// <param name="room"></param>
+        /// <param name="addLine"></param>
+        private void AddRoomRow(Common.Room room, bool addLine)
+        {
+            var frameRow = new RowLayoutControl(listView.rowSpace / 2);
+            listView.AddChidren(frameRow);
+            //鍥炬爣
+            var btnIcon = frameRow.frameTable.AddLeftIcon(81);
+            btnIcon.UnSelectedImagePath = "Item/RoomIconSelected.png";
+            //鍚嶇О
+            var btnName = frameRow.frameTable.AddLeftCaption(room.Name, 600);
+            btnName.TextSize = 15;
+            //鍙崇澶�
+            frameRow.frameTable.AddRightArrow();
+            if (addLine == true)
+            {
+                //搴曠嚎
+                frameRow.frameTable.AddBottomLine();
+            }
+            frameRow.frameTable.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new LookRoomSettionForm();
+                form.AddForm(room);
+            };
+
+            if (room.IsSharedRoom == true)
+            {
+                //濡傛灉鏄垎浜殑鎴块棿锛屼笉鑳界紪杈戝拰淇敼
+                return;
+            }
+
+            //缂栬緫
+            var btnEditor = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
+            btnEditor.BackgroundColor = 0xff4a4a4a;
+            btnEditor.TextSize = 12;
+            btnEditor.TextColor = UserCenterColor.Current.White;
+            btnEditor.TextAlignment = TextAlignment.Center;
+            btnEditor.TextID = R.MyInternationalizationString.uEditor;
+            frameRow.AddRightView(btnEditor);
+            btnEditor.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new EditorRoomInforForm();
+                form.AddForm(room);
+                form.FinishEditorEvent += (roomName) =>
+                {
+                    btnName.Text = roomName;
+                };
+            };
+
+            //鍒犻櫎
+            var btnDelete = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
+            btnDelete.BackgroundColor = 0xfff75858;
+            btnDelete.TextSize = 12;
+            btnDelete.TextColor = UserCenterColor.Current.White;
+            btnDelete.TextAlignment = TextAlignment.Center;
+            btnDelete.TextID = R.MyInternationalizationString.uDelete;
+            frameRow.AddRightView(btnDelete);
+            btnDelete.ButtonClickEvent += (sender, e) =>
+            {
+                //纭鍒犻櫎鎴块棿?
+                this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteRoomMsg), () =>
+                {
+                    if (Common.Room.CurrentRoom.Id == room.Id)
+                    {
+                        //濡傛灉鍒犻櫎鐨勬槸褰撳墠鎴块棿鐨勮瘽
+                        Common.Room.CurrentRoom = Common.Room.Lists[0];
+                    }
+                    Common.Room.CurrentRoom.Remove(room.FileName);
+                    //淇濆瓨椤哄簭
+                    this.listRoomSort.Remove(room.Id);
+                    Common.Room.CurrentRoom.SaveRoomSort(string.Empty, this.listRoomSort);
+
+                    if (Common.Room.Lists.Count <= 1)
+                    {
+                        //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
+                        this.InitFrameTableByMode();
+                    }
+                    else
+                    {
+                        frameRow.RemoveFromParent();
+                        listView.AdjustRealHeight(Application.GetRealHeight(23));
+                    }
+                });
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鍒犻櫎浣忓畢___________________________
+
+        /// <summary>
+        /// 鍒犻櫎浣忓畢
+        /// </summary>
+        public async void DeleteResidence()
+        {
+            //寮�鍚繘搴︽潯
+            this.ShowProgressBar();
+
+            var Pra = new DeleteResidencePra();
+            Pra.HomeId = Common.Config.Instance.Home.Id;
+            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+
+            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+            if (result == false)
+            {
+                return;
+            }
+
+            //鍥犱负鍒犻櫎鐨勬槸褰撳墠鐨勪綇瀹�,鎵�浠ラ渶瑕佸厛鍒囨崲鍒板埆鐨勪綇瀹�
+            string deleteId = Common.Config.Instance.Home.Id;
+            string deleteFile = Common.Config.Instance.Home.FileName;
+            int index = 0;
+            for (; index < Common.Config.Instance.HomeFilePathList.Count; index++)
+            {
+                if (Common.Config.Instance.HomeFilePathList[index] == deleteFile)
+                {
+                    //褰撳墠浣忓畢鎵�澶勭殑浣嶇疆(浣忓畢鏁拌偗瀹氬ぇ浜�1,涓嶇劧涓嶄細鍑虹幇鍒犻櫎鎸夐挳)
+                    if (index == 0)
+                    {
+                        //鍙栦笅涓�浣�
+                        index++;
+                    }
+                    else
+                    {
+                        //鍙栧墠涓�浣�
+                        index--;
+                    }
+                    break;
+                }
+            }
+
+            var myHouse = Common.House.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]);
+            //鍒囨崲浣忓畢
+            Common.Config.Instance.HomeId = myHouse.Id;
+            Common.Global.CreateHomeDirectory(myHouse.Id);
+            Common.Config.Instance.Save();
+            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+            await UserCenterLogic.InitUserCenterMenmoryAndThread();
+            Common.Room.InitAllRoom();
+
+            //鍒犻櫎浣忓畢
+            Common.House.DeleteHouseByHouseId(deleteId);
+
+            Application.RunOnMainThread(() =>
+            {
+                //鍏抽棴鐣岄潰
+                this.CloseForm();
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 妫�娴婣pp鐨勪綇瀹呮ā寮� 0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡
+        /// </summary>
+        /// <returns></returns>
+        private int CheckAppResidenceMode()
+        {
+            if (Common.Config.Instance.Home.FloorDics.Count > 0)
+            {
+                //鎷ユ湁妤煎眰
+                return 1;
+            }
+            if (Common.Room.Lists.Count > 1)
+            {
+                //鏃犳ゼ灞傛ā寮�
+                return 2;
+            }
+
+            return 0;
+        }
+
 
         /// <summary>
         /// 妫�娴嬫ゼ灞傚悕绉�
@@ -286,144 +684,6 @@
                 }
             }
             return true;
-        }
-
-        #endregion
-
-        #region 鈻� 鍒犻櫎妤煎眰___________________________
-
-        /// <summary>
-        /// 鍒犻櫎妤煎眰
-        /// </summary>
-        /// <param name="keys"></param>
-        private void DeleteFloor(string keys)
-        {
-            //纭鍒犻櫎妤煎眰鍙婂叾鎵�鏈夋埧闂�?
-            this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteFloorMsg), () =>
-            {
-                //绉婚櫎妤煎眰
-                Common.Config.Instance.Home.FloorDics.Remove(keys);
-                if (Common.Room.CurrentRoom == null)
-                {
-                    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)
-                    {
-                        listDeleteFile.Add(Common.Room.Lists[i].FileName);
-                    }
-                }
-                //鍒犻櫎鎴块棿
-                foreach (string fileName in listDeleteFile)
-                {
-                    Common.Room.CurrentRoom.Remove(fileName);
-                }
-                //濡傛灉褰撳墠閫夋嫨鐨勬埧闂存槸鍒犻櫎瀵硅薄鐨勮瘽
-                if (Common.Room.CurrentRoom.FloorId == keys)
-                {
-                    Common.Room.CurrentRoom = Common.Room.Lists[0];
-                }
-                Common.Config.Instance.Home.Save();
-                //閲嶆柊鍒濆鍖栨ゼ灞傝
-                listFloorSort.Remove(keys);
-                this.InitFloorRow();
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 鍙充笂瑙掕彍鍗昣________________________
-
-        /// <summary>
-        /// 鍒濆鍖栧彸涓婅鑿滃崟
-        /// </summary>
-        private void InitTopRightMenu()
-        {
-            var btnIcon = new MostRightIconControl(69, 69);
-            btnIcon.UnSelectedImagePath = "Item/More.png";
-            topFrameLayout.AddChidren(btnIcon);
-            btnIcon.InitControl();
-            btnIcon.ButtonClickEvent += ((sender, e) =>
-            {
-                var frame = new TopRightMenuControl(this, 1);
-                //鍒犻櫎浣忓畢
-                frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uDeleteResidence), "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
-                {
-                    //纭鍒犻櫎浣忓畢鍙婃墍鏈夋ゼ灞傘�佹埧闂�?
-                    string msg = Language.StringByID(R.MyInternationalizationString.uDeleteResidenceMsg);
-                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                    {
-                        this.DeleteResidence();
-                    });
-                });
-            });
-        }
-
-        /// <summary>
-        /// 鍒犻櫎浣忓畢
-        /// </summary>
-        public async void DeleteResidence()
-        {
-            //寮�鍚繘搴︽潯
-            this.ShowProgressBar();
-
-            var Pra = new DeleteResidencePra();
-            Pra.HomeId = Common.Config.Instance.Home.Id;
-            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-
-            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
-            //鍏抽棴杩涘害鏉�
-            this.CloseProgressBar();
-            if (result == false)
-            {
-                return;
-            }
-
-            HdlThreadLogic.Current.RunThread(async () =>
-            {
-                //鍥犱负鍒犻櫎鐨勬槸褰撳墠鐨勪綇瀹�,鎵�浠ラ渶瑕佸厛鍒囨崲鍒板埆鐨勪綇瀹�
-                string deleteId = Common.Config.Instance.Home.Id;
-                string deleteFile = Common.Config.Instance.Home.FileName;
-                int index = 0;
-                for (; index < Common.Config.Instance.HomeFilePathList.Count; index++)
-                {
-                    if (Common.Config.Instance.HomeFilePathList[index] == deleteFile)
-                    {
-                        //褰撳墠浣忓畢鎵�澶勭殑浣嶇疆(浣忓畢鏁拌偗瀹氬ぇ浜�1,涓嶇劧涓嶄細鍑虹幇鍒犻櫎鎸夐挳)
-                        if (index == 0)
-                        {
-                            //鍙栦笅涓�浣�
-                            index++;
-                        }
-                        else
-                        {
-                            //鍙栧墠涓�浣�
-                            index--;
-                        }
-                        break;
-                    }
-                }
-
-                var myHouse = Common.House.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]);
-                //鍒囨崲浣忓畢
-                Common.Config.Instance.HomeId = myHouse.Id;
-                Common.Global.CreateHomeDirectory(myHouse.Id);
-                Common.Config.Instance.Save();
-                //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                await UserCenterLogic.InitUserCenterMenmoryAndThread();
-                Common.Room.InitAllRoom();
-
-                //鍒犻櫎浣忓畢
-                Common.House.DeleteHouseByHouseId(deleteId);
-
-                Application.RunOnMainThread(() =>
-                {
-                    //鍏抽棴鐣岄潰
-                    this.CloseForm();
-                });
-            });
         }
 
         #endregion

--
Gitblit v1.8.0