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