From 2109463fab2eb1caed189e4f258e0e763c5cea7b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 07 十一月 2019 11:58:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-wjc

---
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 1416 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 702 insertions(+), 714 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index 0cd38ff..434417d 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -1,714 +1,702 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Shared.Phone.UserCenter.Residence
-{
-    /// <summary>
-    /// 浣忓畢绠$悊鐣岄潰
-    /// </summary>
-    public class ResidenceManagementForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 妗屽竷鎺т欢
-        /// </summary>
-        private FrameLayout frameTable = null;
-        /// <summary>
-        /// 鍒楄〃鎺т欢
-        /// </summary>
-        private VerticalListControl listView = null;
-        /// <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
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param>
-        public void ShowForm(bool i_CanDeleteResidence)
-        {
-            //璁剧疆澶撮儴淇℃伅
-            base.SetTitleText(Common.Config.Instance.Home.Name);
-
-            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
-            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
-            {
-                //鍒濆鍖栧彸涓婅鑿滃崟
-                this.InitTopRightMenu();
-            }
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame(i_CanDeleteResidence);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
-        /// </summary>
-        /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param>
-        private void InitMiddleFrame(bool i_CanDeleteResidence)
-        {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
-            var rowHome = new RowLayoutControl();
-            rowHome.Height = Application.GetRealHeight(173);
-            rowHome.BackgroundColor = UserCenterColor.Current.White;
-            bodyFrameLayout.AddChidren(rowHome);
-
-            var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81);
-            btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png";
-
-            //浣忓畢鍚嶇О
-            var btnHomeName = rowHome.frameTable.AddLeftCaption(Common.Config.Instance.Home.Name, 700, 60);
-            btnHomeName.TextSize = 15;
-            btnHomeName.Y = Application.GetRealHeight(35);
-            rowHome.frameTable.AddChidren(btnHomeName, ChidrenBindMode.BindEventOnly);
-            //褰撳墠浣忓畢
-            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;
-            rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
-            //鍙崇澶�
-            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.Height = Application.GetRealHeight(115);
-            frameFloor.BackgroundColor = UserCenterColor.Current.White;
-            frameTable.AddChidren(frameFloor);
-
-            //妤煎眰
-            var btnFloor = frameFloor.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFloor), 200, 60);
-            btnFloor.Y = Application.GetRealHeight(49);
-            btnFloor.TextColor = UserCenterColor.Current.TextColor2;
-            btnFloor.TextSize = 15;
-            frameFloor.AddChidren(btnFloor, ChidrenBindMode.NotBind);
-
-            listView = new VerticalListControl(29);
-            listView.BackgroundColor = UserCenterColor.Current.White;
-            listView.Y = frameFloor.Bottom;
-            listView.Height = frameTable.Height - frameFloor.Bottom;
-            frameTable.AddChidren(listView);
-
-            //鍒濆鍖栨ゼ灞傝
-            this.InitFloorRow();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栨ゼ灞傝
-        /// </summary>
-        private void InitFloorRow()
-        {
-            //鑾峰彇妤煎眰
-            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
-            this.listFloorSort.Clear();
-            foreach (string keys in dicFloor.Keys)
-            {
-                listFloorSort.Add(keys);
-            }
-
-            if (Common.Config.Instance.Home.FloorDics.Count == 0)
-            {
-                return;
-            }
-            HdlThreadLogic.Current.RunMainInThread(() =>
-            {
-                int count = listFloorSort.Count - 1;
-                for (int i = 0; i < listFloorSort.Count; i++)
-                {
-                    string keys = listFloorSort[i];
-                    this.AddFloorRow(keys, dicFloor[keys], i != count);
-                }
-                //璋冩暣鎺т欢楂樺害
-                listView.AdjustRealHeight(Application.GetRealHeight(23));
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 娣诲姞妤煎眰琛宊________________________
-
-        /// <summary>
-        /// 娣诲姞妤煎眰琛�
-        /// </summary>
-        /// <param name="keys"></param>
-        /// <param name="floorName"></param>
-        /// <param name="addLine"></param>
-        private void AddFloorRow(string keys, string floorName, bool addLine)
-        {
-            var frameRow = new RowLayoutControl(listView.rowSpace / 2);
-            this.listView.AddChidren(frameRow);
-            //鍥炬爣
-            var btnIcon = frameRow.frameTable.AddLeftIcon(81);
-            btnIcon.UnSelectedImagePath = "Floor/FloorSelected.png";
-            //妤煎眰鍚嶇О
-            var btnFloor = frameRow.frameTable.AddLeftCaption(floorName, 500);
-            btnFloor.TextSize = 15;
-            //鍚戝彸绠ご
-            frameRow.frameTable.AddRightArrow();
-            if (addLine == true)
-            {
-                frameRow.frameTable.AddBottomLine();
-            }
-            frameRow.frameTable.ButtonClickEvent += (sender, e) =>
-            {
-                var form = new FloorListRoomForm();
-                form.AddForm(keys);
-            };
-
-            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
-            {
-                //鏇存敼
-                var btnChanged = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
-                btnChanged.BackgroundColor = 0xff4a4a4a;
-                btnChanged.TextSize = 12;
-                btnChanged.TextColor = UserCenterColor.Current.White;
-                btnChanged.TextAlignment = TextAlignment.Center;
-                btnChanged.TextID = R.MyInternationalizationString.uChanged1;
-                frameRow.AddRightView(btnChanged);
-                btnChanged.ButtonClickEvent += (sender, e) =>
-                {
-                    //鍒涘缓鎴栬�呯紪杈戞ゼ灞�
-                    this.CreatOrEditorFloor(btnFloor, keys, floorName);
-                };
-
-                //鍒犻櫎
-                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.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));
-                        }
-                    });
-                };
-            }
-        }
-
-        /// <summary>
-        /// 鍒涘缓鎴栬�呯紪杈戞ゼ灞�
-        /// </summary>
-        /// <param name="btnFloor"></param>
-        /// <param name="keys"></param>
-        /// <param name="floorName"></param>
-        private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName)
-        {
-            //鐢熸垚涓�涓脊绐楃敾闈�
-            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
-            //鍒涘缓妤煎眰
-            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor));
-            if (keys != string.Empty)
-            {
-                //鏇存敼鍚嶇О
-                dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedName));
-            }
-            //璇疯緭鍏ユゼ灞傚悕绉�
-            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName));
-            dialogForm.Text = floorName;
-
-            //鎸変笅纭鎸夐挳
-            dialogForm.ComfirmClickEvent += ((textValue) =>
-            {
-                if (this.CheckFloorName(keys, textValue) == false)
-                {
-                    //妤煎眰鍚嶇О妫�娴�
-                    return;
-                }
-                //鐢婚潰鍏抽棴
-                dialogForm.CloseDialog();
-                if (floorName != textValue)
-                {
-                    //缂栬緫鎴栬�呭垱寤烘ゼ灞傚悕绉�
-                    if (keys == string.Empty)
-                    {
-                        keys = Guid.NewGuid().ToString();
-                    }
-                    Common.Config.Instance.Home.FloorDics[keys] = textValue;
-                    Common.Config.Instance.Home.Save();
-                    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>
-        /// 妫�娴嬫ゼ灞傚悕绉�
-        /// </summary>
-        /// <param name="keys">涓婚敭</param>
-        /// <param name="newFloorName">鏂扮殑妤煎眰鍚嶇О</param>
-        /// <returns></returns>
-        private bool CheckFloorName(string keys, string newFloorName)
-        {
-            if (newFloorName == string.Empty)
-            {
-                //璇疯緭鍏ヤ綇瀹呭悕绉�
-                string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName);
-                this.ShowMassage(ShowMsgType.Error, msg);
-                return false;
-            }
-            foreach (string floorKeys in Common.Config.Instance.Home.FloorDics.Keys)
-            {
-                if (floorKeys != keys && newFloorName == Common.Config.Instance.Home.FloorDics[floorKeys])
-                {
-                    //妤煎眰鍚嶇О宸茬粡瀛樺湪
-                    string msg = Language.StringByID(R.MyInternationalizationString.uFloorNameIsExist);
-                    this.ShowMassage(ShowMsgType.Error, msg);
-                    return false;
-                }
-            }
-            return true;
-        }
-
-        #endregion
-
-        #region 鈻� 缁撴瀯浣揰____________________________
-
-        /// <summary>
-        ///  鍒犻櫎浣忓畢鐨勫惎鍔ㄥ弬鏁�
-        /// </summary>
-        public class DeleteResidencePra : IfacePraCommon
-        {
-            /// <summary>
-            /// RequestVersion
-            /// </summary>
-            public string RequestVersion = Common.CommonPage.RequestVersion;
-            /// <summary>
-            /// LoginAccessToken
-            /// </summary>
-            public string LoginAccessToken = Common.Config.Instance.Token;
-            /// <summary>
-            /// ZigbeeHomeId
-            /// </summary>
-            public string HomeId = "";
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.Residence
+{
+    /// <summary>
+    /// 浣忓畢绠$悊鐣岄潰
+    /// </summary>
+    public class ResidenceManagementForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 妗屽竷鎺т欢
+        /// </summary>
+        private FrameLayout frameTable = null;
+        /// <summary>
+        /// 鍒楄〃鎺т欢
+        /// </summary>
+        private VerticalListControl listView = null;
+        /// <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
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param>
+        public void ShowForm(bool i_CanDeleteResidence)
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Common.Config.Instance.Home.Name);
+
+            //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+            {
+                //鍒濆鍖栧彸涓婅鑿滃崟
+                this.InitTopRightMenu();
+            }
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(i_CanDeleteResidence);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param>
+        private void InitMiddleFrame(bool i_CanDeleteResidence)
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            var rowHome = new RowLayoutControl();
+            rowHome.Height = Application.GetRealHeight(173);
+            rowHome.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(rowHome);
+
+            var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81);
+            btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png";
+
+            //浣忓畢鍚嶇О
+            var btnHomeName = rowHome.frameTable.AddLeftCaption(Common.Config.Instance.Home.Name, 700, 60);
+            btnHomeName.TextSize = 15;
+            btnHomeName.Y = Application.GetRealHeight(35);
+            rowHome.frameTable.AddChidren(btnHomeName, ChidrenBindMode.BindEventOnly);
+            //褰撳墠浣忓畢
+            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;
+            rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
+            //鍙崇澶�
+            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.Height = Application.GetRealHeight(115);
+            frameFloor.BackgroundColor = UserCenterColor.Current.White;
+            frameTable.AddChidren(frameFloor);
+
+            //妤煎眰
+            var btnFloor = frameFloor.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFloor), 200, 60);
+            btnFloor.Y = Application.GetRealHeight(49);
+            btnFloor.TextColor = UserCenterColor.Current.TextColor2;
+            btnFloor.TextSize = 15;
+            frameFloor.AddChidren(btnFloor, ChidrenBindMode.NotBind);
+
+            listView = new VerticalListControl(29);
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            listView.Y = frameFloor.Bottom;
+            listView.Height = frameTable.Height - frameFloor.Bottom;
+            frameTable.AddChidren(listView);
+
+            //鍒濆鍖栨ゼ灞傝
+            this.InitFloorRow();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栨ゼ灞傝
+        /// </summary>
+        private void InitFloorRow()
+        {
+            //鑾峰彇妤煎眰
+            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
+            this.listFloorSort.Clear();
+            foreach (string keys in dicFloor.Keys)
+            {
+                listFloorSort.Add(keys);
+            }
+
+            if (Common.Config.Instance.Home.FloorDics.Count == 0)
+            {
+                return;
+            }
+            HdlThreadLogic.Current.RunMainInThread(() =>
+            {
+                int count = listFloorSort.Count - 1;
+                for (int i = 0; i < listFloorSort.Count; i++)
+                {
+                    string keys = listFloorSort[i];
+                    this.AddFloorRow(keys, dicFloor[keys], i != count);
+                }
+                //璋冩暣鎺т欢楂樺害
+                listView.AdjustRealHeight(Application.GetRealHeight(23));
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 娣诲姞妤煎眰琛宊________________________
+
+        /// <summary>
+        /// 娣诲姞妤煎眰琛�
+        /// </summary>
+        /// <param name="keys"></param>
+        /// <param name="floorName"></param>
+        /// <param name="addLine"></param>
+        private void AddFloorRow(string keys, string floorName, bool addLine)
+        {
+            var frameRow = new RowLayoutControl(listView.rowSpace / 2);
+            this.listView.AddChidren(frameRow);
+            //鍥炬爣
+            var btnIcon = frameRow.frameTable.AddLeftIcon(81);
+            btnIcon.UnSelectedImagePath = "Floor/FloorSelected.png";
+            //妤煎眰鍚嶇О
+            var btnFloor = frameRow.frameTable.AddLeftCaption(floorName, 500);
+            btnFloor.TextSize = 15;
+            //鍚戝彸绠ご
+            frameRow.frameTable.AddRightArrow();
+            if (addLine == true)
+            {
+                frameRow.frameTable.AddBottomLine();
+            }
+            frameRow.frameTable.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new FloorListRoomForm();
+                form.AddForm(keys);
+            };
+
+            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+            {
+                //鏇存敼
+                var btnChanged = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
+                btnChanged.BackgroundColor = 0xff4a4a4a;
+                btnChanged.TextSize = 12;
+                btnChanged.TextColor = UserCenterColor.Current.White;
+                btnChanged.TextAlignment = TextAlignment.Center;
+                btnChanged.TextID = R.MyInternationalizationString.uChanged1;
+                frameRow.AddRightView(btnChanged);
+                btnChanged.ButtonClickEvent += (sender, e) =>
+                {
+                    //鍒涘缓鎴栬�呯紪杈戞ゼ灞�
+                    this.CreatOrEditorFloor(btnFloor, keys, floorName);
+                };
+
+                //鍒犻櫎
+                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.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));
+                        }
+                    });
+                };
+            }
+        }
+
+        /// <summary>
+        /// 鍒涘缓鎴栬�呯紪杈戞ゼ灞�
+        /// </summary>
+        /// <param name="btnFloor"></param>
+        /// <param name="keys"></param>
+        /// <param name="floorName"></param>
+        private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName)
+        {
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
+            //鍒涘缓妤煎眰
+            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor));
+            if (keys != string.Empty)
+            {
+                //鏇存敼鍚嶇О
+                dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedName));
+            }
+            //璇疯緭鍏ユゼ灞傚悕绉�
+            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName));
+            dialogForm.Text = floorName;
+
+            //鎸変笅纭鎸夐挳
+            dialogForm.ComfirmClickEvent += ((textValue) =>
+            {
+                if (this.CheckFloorName(keys, textValue) == false)
+                {
+                    //妤煎眰鍚嶇О妫�娴�
+                    return;
+                }
+                //鐢婚潰鍏抽棴
+                dialogForm.CloseDialog();
+                if (floorName != textValue)
+                {
+                    //缂栬緫鎴栬�呭垱寤烘ゼ灞傚悕绉�
+                    if (keys == string.Empty)
+                    {
+                        keys = Guid.NewGuid().ToString();
+                    }
+                    Common.Config.Instance.Home.FloorDics[keys] = textValue;
+                    Common.Config.Instance.Home.Save();
+                    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 = frameRow.AddEditorControl();
+            btnEditor.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new EditorRoomInforForm();
+                form.AddForm(room);
+                form.FinishEditorEvent += (roomName) =>
+                {
+                    btnName.Text = roomName;
+                };
+            };
+
+            //鍒犻櫎
+            var btnDelete = frameRow.AddDeleteControl();
+            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>
+        /// 妫�娴嬫ゼ灞傚悕绉�
+        /// </summary>
+        /// <param name="keys">涓婚敭</param>
+        /// <param name="newFloorName">鏂扮殑妤煎眰鍚嶇О</param>
+        /// <returns></returns>
+        private bool CheckFloorName(string keys, string newFloorName)
+        {
+            if (newFloorName == string.Empty)
+            {
+                //璇疯緭鍏ヤ綇瀹呭悕绉�
+                string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName);
+                this.ShowMassage(ShowMsgType.Error, msg);
+                return false;
+            }
+            foreach (string floorKeys in Common.Config.Instance.Home.FloorDics.Keys)
+            {
+                if (floorKeys != keys && newFloorName == Common.Config.Instance.Home.FloorDics[floorKeys])
+                {
+                    //妤煎眰鍚嶇О宸茬粡瀛樺湪
+                    string msg = Language.StringByID(R.MyInternationalizationString.uFloorNameIsExist);
+                    this.ShowMassage(ShowMsgType.Error, msg);
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 缁撴瀯浣揰____________________________
+
+        /// <summary>
+        ///  鍒犻櫎浣忓畢鐨勫惎鍔ㄥ弬鏁�
+        /// </summary>
+        public class DeleteResidencePra : IfacePraCommon
+        {
+            /// <summary>
+            /// RequestVersion
+            /// </summary>
+            public string RequestVersion = Common.CommonPage.RequestVersion;
+            /// <summary>
+            /// LoginAccessToken
+            /// </summary>
+            public string LoginAccessToken = Common.Config.Instance.Token;
+            /// <summary>
+            /// ZigbeeHomeId
+            /// </summary>
+            public string HomeId = "";
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0