From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 1305 ++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 886 insertions(+), 419 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index cf487de..02092c1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -1,24 +1,32 @@ -锘縰sing Shared.Common; -using System; +锘縰sing System; using System.Collections.Generic; +using System.Text; namespace Shared.Phone.UserCenter.Residence { /// <summary> - /// 浣忓畢绠$悊鐨勭敾闈⑩槄 + /// 浣忓畢绠$悊鐣岄潰 /// </summary> public class ResidenceManagementForm : EditorCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> - /// 鍒楄〃鎺т欢 + /// 妗屽竷鎺т欢 /// </summary> - private VerticalScrolViewLayout listView = null; + private NormalFrameLayout frameTable = null; /// <summary> - /// 浣忓畢鏁版嵁 + /// 鍒楄〃鎺т欢(鐧借壊鑳屾櫙) /// </summary> - private Dictionary<string, Common.ResponseEntity.ResidenceObj> dicResidenceData = null; + private FrameListControl listView = null; + /// <summary> + /// 鏁翠釜鐣岄潰鐨勪笂涓嬫粦鍔ㄦ帶浠� + /// </summary> + private VerticalFrameControl listBackContr = null; + /// <summary> + /// 褰撳墠APP鐨勪綇瀹呮ā寮� 0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡 + /// </summary> + private int AppResidenceMode = 0; #endregion @@ -27,465 +35,924 @@ /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> - public void ShowForm() + /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param> + public void ShowForm(bool i_CanDeleteResidence) { - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.ResidenceManagement)); + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Common.Config.Instance.Home.Name); - if (UserCenterResourse.UserInfo.AuthorityNo == 1) + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { - //鍙充笂娣诲姞鎸夐挳 - var btnTopIcon = new MostRightIconControl(69, 69); - btnTopIcon.UnSelectedImagePath = "Item/Add.png"; - topFrameLayout.AddChidren(btnTopIcon); - btnTopIcon.InitControl(); - btnTopIcon.ButtonClickEvent += (sender, e) => + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == false) { - //var info = new Common.ResponseEntity.ResidenceObj(); - //this.ShowEditorForm(info); + //鍒濆鍖栧彸涓婅鑿滃崟 + this.InitTopRightMenu(); + } + } + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(i_CanDeleteResidence); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + /// <param name="i_CanDeleteResidence">鑳藉惁鍒犻櫎褰撳墠浣忓畢</param> + private void InitMiddleFrame(bool i_CanDeleteResidence) + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + //鏁翠釜鐣岄潰鐨勪笂涓嬫粦鍔ㄦ帶浠� + this.listBackContr = new VerticalFrameControl(); + listBackContr.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackContr); + + //浣忓畢琛� + var rowHome = new RowLayoutControl(); + rowHome.Height = Application.GetRealHeight(173); + rowHome.BackgroundColor = UserCenterColor.Current.White; + listBackContr.frameTable.AddChidren(rowHome); + rowHome.frameTable.UseClickStatu = false; + + 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.BindEvent); + //褰撳墠浣忓畢 + 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.BindEvent); + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍙崇澶� + rowHome.frameTable.AddRightArrow(); + } + //缁忕含搴� + var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500); + btnLocation.IsMoreLines = true; + btnLocation.TextSize = 10; + btnLocation.Text = Common.Config.Instance.Home.ResidenceAddressName; + + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + rowHome.frameTable.UseClickStatu = true; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + rowHome.frameTable.CanClick = false; + } + rowHome.frameTable.ButtonClickEvent += (sender, e) => + { + //妫�娴嬫潈闄�,鐒跺悗鏄剧ず鍦板浘 + this.CheckAuthorityAndShowMap(btnLocation); }; } - //鍒濆鍖栦腑閮ㄦ帶浠� - //this.InitMiddleFrame(); + if (i_CanDeleteResidence == true && Common.Config.Instance.Home.IsShowTemplate == false) + { + //鍒犻櫎 + 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 NormalFrameLayout(); + frameTable.Y = rowHome.Bottom + Application.GetRealHeight(23); + frameTable.Height = listBackContr.frameTable.Height - rowHome.Bottom - Application.GetRealHeight(23); + listBackContr.frameTable.AddChidren(frameTable); + + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); } - ///// <summary> - ///// 鍒濆鍖栦腑閮ㄦ帶浠� - ///// </summary> - //private void InitMiddleFrame() - //{ - // //娓呯┖bodyFrame - // this.ClearBodyFrame(); + /// <summary> + /// 鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + /// </summary> + private void InitFrameTableByMode() + { + this.frameTable.RemoveAll(); - // listView = new VerticalScrolViewLayout(); - // listView.Height = bodyFrameLayout.Height; - // bodyFrameLayout.AddChidren(listView); - - // new System.Threading.Thread(() => - // { - // //璁剧疆浣忓畢淇℃伅 - // this.SetResidenceInfo(); - // }) - // { IsBackground = true }.Start(); - //} - - ///// <summary> - ///// 璁剧疆浣忓畢淇℃伅 - ///// </summary> - //private async void SetResidenceInfo() - //{ - // //寮�鍚繘搴︽潯 - // this.ShowProgressBar(); - - // Application.RunOnMainThread(() => - // { - // this.listView?.RemoveAll(); - // }); - // //鑾峰彇浣忓畢淇℃伅 - // var Pra = new GetResidenceInfoPra(); - // string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomePager", false, Pra); - // if (resultData == null) - // { - // //鍏抽棴杩涘害鏉� - // this.CloseProgressBar(ShowReLoadMode.YES); - // return; - // } - // this.dicResidenceData = new Dictionary<string, Common.ResponseEntity.ResidenceObj>(); - - // var pageData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResidenceRes>(resultData); - // foreach (Common.ResponseEntity.ResidenceObj info in pageData.PageData) - // { - // if (info.IsOthreShare == false) - // { - // //鏀堕泦璇ヨ处鍙锋墍鎷ユ湁鐨勮嚜宸辩殑浣忓畢鐨勬暟鎹� - // this.dicResidenceData[info.Id] = info; - // } - - // Application.RunOnMainThread(() => - // { - // if (this.Parent != null) - // { - // this.AddRowLayout(info); - // } - // }); - // } - // //鍏抽棴杩涘害鏉� - // this.CloseProgressBar(); - //} + //0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡 + AppResidenceMode = this.CheckAppResidenceMode(); + if (AppResidenceMode == 1) + { + //鍒濆鍖栨ゼ灞傛ā寮� + this.InitControlByFloorMode(); + } + else if (AppResidenceMode == 2) + { + //鍒濆鍖栨棤妤煎眰妯″紡 + this.InitControlByNotFloorMode(); + } + } #endregion - //#region 鈻� 娣诲姞浣忓畢鐨勮_______________________ + #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ - ///// <summary> - ///// 娣诲姞浣忓畢鐨勮 - ///// </summary> - ///// <param name="info"></param> - //private void AddRowLayout(Common.ResponseEntity.ResidenceObj info) - //{ - // if (info.IsOthreShare == true) - // { - // return; - // } - // var rowLayout = new RowLayout(); - // rowLayout.Height = ControlCommonResourse.ListViewRowHeight; - // this.listView.AddChidren(rowLayout); + /// <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, 2); + //鍒涘缓妤煎眰 + frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () => + { + //鍒涘缓妤煎眰 + this.CreatOrEditorFloor(null, 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, null, string.Empty, string.Empty); + } + //鏃犳ゼ灞傛ā寮� + else if (AppResidenceMode == 2) + { + var form = new AddNewRoomForm(); + form.AddForm(string.Empty); + form.FinishEditorEvent += () => + { + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); + }; + } + }); + } - // //鍥炬爣 - // var btnIcon = new RowLeftIconView(); - // btnIcon.ChangedControlInPointMode(); - // rowLayout.AddChidren(btnIcon); + #endregion - // //浣忓畢 - // var txtResidence = new RowCenterView(true); - // txtResidence.Text = info.Name; - // rowLayout.AddChidren(txtResidence); - // txtResidence.X -= ControlCommonResourse.PointXXLeft; + #region 鈻� 鍒濆鍖栨ゼ灞傛ā寮廮____________________ - // //涓嶆槸鍒嗕韩杩囨潵鐨勪綇瀹� - // if (info.IsOthreShare == false) - // { - // //缂栬緫 - // var btnEditor = new RowEditorButton(); - // rowLayout.AddRightView(btnEditor); - // btnEditor.MouseUpEventHandler += (sender, e) => - // { - // this.ShowEditorForm(info); - // }; + /// <summary> + /// 鍒濆鍖栨ゼ灞傛ā寮� + /// </summary> + private void InitControlByFloorMode() + { + var frameFloor = new FrameRowControl(); + frameFloor.UseClickStatu = false; + frameFloor.Height = Application.GetRealHeight(115); + frameFloor.BackgroundColor = UserCenterColor.Current.White; + this.frameTable.AddChidren(frameFloor); - // //涓嶈兘鍒犻櫎褰撳墠姝e湪鎿嶄綔鐨勪綇瀹� - // if (Common.Config.Instance.HomeId != info.Id) - // { - // //鍒犻櫎 - // var btnDelete = new RowDeleteButton(); - // rowLayout.AddRightView(btnDelete); - // btnDelete.MouseUpEventHandler += (sender, e) => - // { - // //妫�娴嬭兘鍚﹀垹闄や綇瀹� - // if (this.CheckIsCanDeleteResidence(info) == false) - // { - // return; - // } - // //纭瑕佸垹闄ゅ悧锛� - // string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg); - // this.ShowConfirmMsg(msg, "DeleteResidence", info); - // }; - // } - // } - // //鎴愬憳鐨勭鐞嗗憳鏉冮檺,鍙兘缂栬緫锛屼笉鑳藉垹闄� - // //if (info.AccountType == 1) - // //{ - // // //缂栬緫 - // // var btnEditor = new RowEditorButton(); - // // rowLayout.AddRightView(btnEditor); - // // btnEditor.MouseUpEventHandler += (sender, e) => - // // { - // // this.ShowEditorForm(info); - // // }; - // //} - //} + //妤煎眰 + 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); - //#endregion + listView = new FrameListControl(29); + listView.BackgroundColor = UserCenterColor.Current.White; + listView.Y = frameFloor.Bottom; + listView.Height = frameTable.Height - frameFloor.Bottom; + this.frameTable.AddChidren(listView); - //#region 鈻� 鏄剧ず缂栬緫鐢婚潰_______________________ + //鍒濆鍖栨ゼ灞傝 + this.InitFloorRow(); + } - ///// <summary> - ///// 鏄剧ず缂栬緫鐢婚潰 - ///// </summary> - ///// <param name="info"></param> - //private void ShowEditorForm(Common.ResponseEntity.ResidenceObj info) - //{ - // //鐢熸垚涓�涓脊绐楃敾闈� - // var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + /// <summary> + /// 鍒濆鍖栨ゼ灞傝 + /// </summary> + private void InitFloorRow() + { + //鑾峰彇妤煎眰 + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); + if (dicFloor.Count == 0) + { + return; + } + HdlThreadLogic.Current.RunMainInThread(() => + { + int count = dicFloor.Count; + foreach (var keys in dicFloor.Keys) + { + count--; + this.AddFloorRow(keys, dicFloor[keys], count != 0); + } + //璋冩暣鎺т欢楂樺害 + this.AdjustContrlTableHeight(); + }); + } - // if (string.IsNullOrEmpty(info.Name) == true) - // { - // //娣诲姞浣忓畢 - // dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddResidence)); - // } - // else - // { - // //缂栬緫浣忓畢 - // dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorResidence)); - // } + #endregion - // //璇疯緭鍏ヤ綇瀹呭悕绉� - // dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName)); - // if (info.Name != null) - // { - // dialogForm.InputText = info.Name; - // } - - // //鎸変笅纭鎸夐挳 - // dialogForm.ComfirmClickEvent += (()=> - // { - // string resiName = dialogForm.InputText; - // if (resiName == string.Empty) - // { - // //璇疯緭鍏ヤ綇瀹呭悕绉� - // string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName); - // this.ShowErrorMsg(msg); - // return; - // } - // //鐢婚潰鍏抽棴 - // dialogForm.CloseDialog(); + #region 鈻� 娣诲姞妤煎眰琛宊________________________ - // if (info.Name != resiName) - // { - // //淇濆瓨浣忓畢 - // this.SaveResidence(resiName, info, string.IsNullOrEmpty(info.Name) == false); - // } - // }); - //} + /// <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); + frameRow.MainKeys = keys; + 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); + }; - //#endregion + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + return; + } + //鏇存敼 + var btnChanged = frameRow.AddEditorControl(); + btnChanged.TextID = R.MyInternationalizationString.uChanged1; + btnChanged.ButtonClickEvent += (sender, e) => + { + //鍒涘缓鎴栬�呯紪杈戞ゼ灞� + this.CreatOrEditorFloor(frameRow, btnFloor, keys, floorName); + }; - //#region 鈻� 淇濆瓨浣忓畢___________________________ + //鍒犻櫎 + 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.Config.Instance.Home.CurrentFloorId == keys) + { + Common.Config.Instance.Home.CurrentFloorId = string.Empty; + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); + foreach (var floorId in dicFloor.Keys) + { + //鎶婄涓�涓ゼ灞傝祴鍊肩粰褰撳墠妤煎眰 + Common.Config.Instance.Home.CurrentFloorId = floorId; + break; + } + //鍒犻櫎褰撳墠妤煎眰鐨勮瘽,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� + HdlRoomLogic.Current.RefreshRoomListView(); + } + var uploadRoom = false; + var listDeleteId = new List<string>(); + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + for (int i = 0; i < listAllRoom.Count; i++) + { + if (listAllRoom[i].FloorId == keys) + { + listDeleteId.Add(listAllRoom[i].Id); + } + if (listAllRoom[i].ListDevice.Count > 0) + { + //闇�瑕佷笂浼犵┖闂村尯鍩� + uploadRoom = true; + } + } + //鍒犻櫎鎴块棿 + foreach (string roomId in listDeleteId) + { + HdlRoomLogic.Current.RemoveRoom(roomId); + } + Common.Config.Instance.Home.Save(); - ///// <summary> - ///// 淇濆瓨浣忓畢 - ///// </summary> - ///// <param name="ResidenceName"></param> - ///// <param name="info"></param> - ///// <param name="isEditor"></param> - ///// <returns></returns> - //private async void SaveResidence(string ResidenceName, Common.ResponseEntity.ResidenceObj info, bool isEditor) - //{ - // //妫�娴嬭兘鍚︿繚瀛樹綇瀹� - // if (this.CheckIsCanSaveResidence(info.Id, ResidenceName, isEditor) == false) - // { - // return; - // } - // //寮�鍚繘搴︽潯 - // this.ShowProgressBar(); + if (Common.Config.Instance.Home.FloorDics.Count == 0) + { + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); + } + else + { + bool canMove = false; + for (int i = 0; i < listView.ChildrenCount; i++) + { + var myRow = listView.GetChildren(i) as RowLayoutControl; + if (myRow != null && myRow.MainKeys == keys) + { + canMove = true; + continue; + } + if (canMove == true) + { + //瀹冧箣鍚庣殑琛岋紝鍏ㄩ儴寰�涓婄Щ + myRow.Y -= frameRow.Height; + } + } + frameRow.RemoveFromParent(); + //璋冩暣妗屽竷楂樺害 + this.AdjustContrlTableHeight(); + } + if (uploadRoom == true) + { + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); + } + //鍒犻櫎妤煎眰鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; + }); + }; + } + } - // if (isEditor == true) - // { - // var Pra = new EditorResidencePra(); - // Pra.HomeId = info.Id; - // Pra.Name = ResidenceName; - // //缂栬緫浣忓畢 - // bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", false, Pra); - // if (flage == false) - // { - // //鍏抽棴杩涘害鏉� - // this.CloseProgressBar(); - // return; - // } - // //鍒锋柊鍐呭瓨鐨勪綇瀹呭悕 - // House.EditorHouseByHouseId(info.Id, ResidenceName); - // //閲嶆柊鍒锋柊鍒楄〃 - // this.SetResidenceInfo(); - // } - // else - // { - // var Pra = new AddResidencePra(); - // Pra.Name = ResidenceName; - // //娣诲姞浣忓畢 - // string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/AddHome", false, Pra); - // if (resultData == null) - // { - // //鍏抽棴杩涘害鏉� - // this.CloseProgressBar(); - // return; - // } + /// <summary> + /// 鍒涘缓鎴栬�呯紪杈戞ゼ灞� + /// </summary> + /// <param name="btnFloor"></param> + /// <param name="keys"></param> + /// <param name="floorName"></param> + private void CreatOrEditorFloor(RowLayoutControl frameRow, NormalViewControl btnFloor, string keys, string floorName) + { + //鐢熸垚涓�涓脊绐楃敾闈� + var dialogForm = new DialogInputControl(); + //鍒涘缓妤煎眰 + 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)); + if (Common.Config.Instance.Home.FloorDics.ContainsKey(keys) == true) + { + dialogForm.Text = Common.Config.Instance.Home.FloorDics[keys]; + floorName = Common.Config.Instance.Home.FloorDics[keys]; + } + else + { + dialogForm.Text = floorName; + } + //鎸変笅纭鎸夐挳 + dialogForm.ComfirmClickEvent += ((textValue) => + { + //杩樺師宸﹀彸鑿滃崟 + frameRow?.HideMenu(); - // var newInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<NewResidenceInfo>>(resultData); + if (this.CheckFloorName(keys, textValue) == false) + { + //妤煎眰鍚嶇О妫�娴� + return; + } + //鐢婚潰鍏抽棴 + dialogForm.CloseDialog(); + if (floorName != textValue) + { + //缂栬緫鎴栬�呭垱寤烘ゼ灞傚悕绉� + if (keys == string.Empty) + { + keys = Guid.NewGuid().ToString(); + } + bool hadFloor = Common.Config.Instance.Home.CurrentFloorId != string.Empty; + Common.Config.Instance.Home.FloorDics[keys] = textValue; + Common.Config.Instance.Home.Save(); + if (hadFloor == false) + { + //鍒涘缓绗竴涓柊鐨勬ゼ灞傜殑璇�,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� + HdlRoomLogic.Current.RefreshRoomListView(); + } - // House.AddHouse(newInfo[0].Id, ResidenceName, 0); - // //閲嶆柊鍒锋柊鍒楄〃 - // this.SetResidenceInfo(); - // } - //} + if (btnFloor != null) + { + btnFloor.Text = textValue; + } + else + { + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); + } + //鍒涘缓鎴栬�呬慨鏀规ゼ灞傜殑璇�,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; + } + }); + } - //#endregion - //#region 鈻� 鍒犻櫎浣忓畢___________________________ + #endregion - ///// <summary> - ///// 鍒犻櫎浣忓畢 - ///// </summary> - ///// <param name="info"></param> - //public async void DeleteResidence(Common.ResponseEntity.ResidenceObj info) - //{ - // //寮�鍚繘搴︽潯 - // this.ShowProgressBar(); + #region 鈻� 鍒濆鍖栨棤妤煎眰妯″紡___________________ - // var Pra = new DeleteResidencePra(); - // Pra.HomeId = info.Id; + /// <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); - // bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", false, Pra); - // if (result == false) - // { - // //鍏抽棴杩涘害鏉� - // this.CloseProgressBar(); - // return; - // } - // House.DeleteHouseByHouseId(info.Id); + //鎴块棿鍒楄〃 + 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); - // this.SetResidenceInfo(); - //} + listView = new FrameListControl(29); + listView.BackgroundColor = UserCenterColor.Current.White; + listView.Y = frameRoom.Bottom; + listView.Height = frameTable.Height - frameRoom.Bottom; + frameTable.AddChidren(listView); - //#endregion + //鍒濆鍖栨埧闂村垪琛� + this.InitRoomListRow(); + } - //#region 鈻� 涓�鑸柟娉昣__________________________ + /// <summary> + /// 鍒濆鍖栨埧闂村垪琛� + /// </summary> + private void InitRoomListRow() + { + //鑾峰彇妤煎眰鐨勬埧闂� + var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty); + for (int i = 0; i < listRoom.Count; i++) + { + //娣诲姞鎴块棿琛� + this.AddRoomRow(listRoom[i], i != listRoom.Count - 1); + } + //璋冩暣妗屽竷楂樺害 + this.AdjustContrlTableHeight(); + } - ///// <summary> - ///// 妫�娴嬭兘鍚﹀垹闄や綇瀹� - ///// </summary> - ///// <param name="info"></param> - ///// <returns></returns> - //private bool CheckIsCanDeleteResidence(Common.ResponseEntity.ResidenceObj info) - //{ - // if (this.dicResidenceData.Count == 1) - // { - // //濡傛灉姝よ处鍙蜂笅鍙墿涓嬪敮涓�涓�涓嚜宸辩殑浣忓畢锛屽綋鍒犻櫎杩欎釜浣忓畢鏃讹紝鎻愮ず涓嶈兘鍒犻櫎 - // //鍥犱负鏈�灏戣鏈変竴涓綇瀹� - // if (this.dicResidenceData.ContainsKey(info.Id) == true) - // { - // //涓嶈兘鍒犻櫎鏈�鍚庡敮涓�鐨勪綇瀹� - // string msg = Language.StringByID(R.MyInternationalizationString.uDoNotDeleteLastResidence); - // this.ShowErrorMsg(msg); - // return false; - // } - // } - // return true; - //} + #endregion - ///// <summary> - ///// 妫�娴嬭兘鍚︿繚瀛樹綇瀹� - ///// </summary> - ///// <param name="residenceId">浣忓畢ID</param> - ///// <param name="residenceName">浣忓畢鍚�</param> - ///// <param name="isEditor">isEditor</param> - ///// <returns></returns> - //private bool CheckIsCanSaveResidence(string residenceId, string residenceName, bool isEditor) - //{ - // //浣忓畢鍚嶅瓧閲嶅妫�娴� - // foreach (string strId in this.dicResidenceData.Keys) - // { - // if (residenceId != strId && residenceName == this.dicResidenceData[strId].Name) - // { - // //浣忓畢鍚嶅瓧宸茬粡瀛樺湪 - // int msgId = isEditor == true ? R.MyInternationalizationString.EditZigbeeHome_Exist : R.MyInternationalizationString.AddZigbeeHome_Exist; - // string msg = Language.StringByID(msgId); - // this.ShowErrorMsg(msg); - // return false; - // } - // } - // return true; - //} + #region 鈻� 娣诲姞鎴块棿琛宊________________________ - //#endregion + /// <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); + frameRow.MainKeys = room.Id; + 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); + }; - //#region 鈻� 缁撴瀯浣揰____________________________ + 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; + }; + }; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnEditor.Text = Language.StringByID(R.MyInternationalizationString.uSearch1); + return; + } + //鍒犻櫎 + var btnDelete = frameRow.AddDeleteControl(); + btnDelete.ButtonClickEvent += (sender, e) => + { + //纭鍒犻櫎鎴块棿? + this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteRoomMsg), () => + { + HdlRoomLogic.Current.RemoveRoom(room.Id); - ///// <summary> - ///// 璁块棶浣忓畢淇℃伅鎺ュ彛鐨勫惎鍔ㄥ弬鏁�(鏌ヨ涓撶敤) - ///// </summary> - //public class GetResidenceInfoPra:IfacePraCommon - //{ - // /// <summary> - // /// RequestVersion - // /// </summary> - // public string RequestVersion = Common.CommonPage.RequestVersion; - // /// <summary> - // /// ReqDto - // /// </summary> - // public TokenInfo ReqDto = new TokenInfo(); - //} + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + if (listAllRoom.Count <= 1) + { + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); + } + else + { + bool canMove = false; + for (int i = 0; i < listView.ChildrenCount; i++) + { + var myRow = listView.GetChildren(i) as RowLayoutControl; + if (myRow != null && myRow.MainKeys == room.Id) + { + canMove = true; + continue; + } + if (canMove == true) + { + //瀹冧箣鍚庣殑琛岋紝鍏ㄩ儴寰�涓婄Щ + myRow.Y -= frameRow.Height; + } + } + frameRow.RemoveFromParent(); + //璋冩暣妗屽竷楂樺害 + this.AdjustContrlTableHeight(); + } + if (room.ListDevice.Count > 0) + { + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); + } + //鍒犻櫎鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; + }); + }; + } - ///// <summary> - ///// 璁块棶浣忓畢淇℃伅鎺ュ彛鐨勫惎鍔ㄥ弬鏁�(鏌ヨ涓撶敤) - ///// </summary> - //public class TokenInfo - //{ - // /// <summary> - // /// LoginAccessToken - // /// </summary> - // public string LoginAccessToken = Common.Config.Instance.Token; - // /// <summary> - // /// PageSetting - // /// </summary> - // public PageSettingInfo PageSetting = new PageSettingInfo() - // { - // Page = 1, - // PageSize = 500 - // }; - //} + #endregion - ///// <summary> - ///// 娣诲姞浣忓畢鐨勫惎鍔ㄥ弬鏁� - ///// </summary> - //public class AddResidencePra:IfacePraCommon - //{ - // /// <summary> - // /// RequestVersion - // /// </summary> - // public string RequestVersion = Common.CommonPage.RequestVersion; - // /// <summary> - // /// LoginAccessToken - // /// </summary> - // public string LoginAccessToken = Common.Config.Instance.Token; - // /// <summary> - // /// Name - // /// </summary> - // public string Name = string.Empty; - //} + #region 鈻� 鍒犻櫎浣忓畢___________________________ - ///// <summary> - ///// 鏂颁綇瀹呯殑淇℃伅 - ///// </summary> - //public class NewResidenceInfo - //{ - // /// <summary> - // /// ZigbeeHomeGuid - // /// </summary> - // public string Id = string.Empty; - //} + /// <summary> + /// 鍒犻櫎浣忓畢 + /// </summary> + private void DeleteResidence() + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); - ///// <summary> - ///// 缂栬緫浣忓畢鐨勫惎鍔ㄥ弬鏁� - ///// </summary> - //public class EditorResidencePra : 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 = ""; - // /// <summary> - // /// Name - // /// </summary> - // public string Name = string.Empty; - //} + if (Common.Config.Instance.Home.IsOthreShare == false) + { + //鍒犻櫎涓讳汉鑷繁鐨勪綇瀹� + var Pra = new DeleteResidencePra(); + Pra.HomeId = Common.Config.Instance.Home.Id; + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - ///// <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 + bool result = UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + else + { + //鍒犻櫎鍒嗕韩鐨勪綇瀹� + var Pra2 = new + { + HomeId = Common.Config.Instance.Home.Id, + PrimaryUserId = Common.Config.Instance.Home.MainUserDistributedMark + }; + bool result = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/SubAccountDelShareHome", false, Pra2); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + 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 = HdlResidenceLogic.Current.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]); + //鍒囨崲浣忓畢 + Common.Config.Instance.HomeId = myHouse.Id; + Common.Config.Instance.Home = myHouse; + Common.Global.CreateHomeDirectory(myHouse.Id); + Common.Config.Instance.Save(); + + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + bool result2 = UserCenterLogic.InitUserCenterMenmoryAndThread(false); + if (result2 == false) + { + //寮�鍚簡璋冭瘯鍔熻兘 + return; + } + + //鍒犻櫎浣忓畢 + HdlResidenceLogic.Current.DeleteHouseMemmory(deleteId); + + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鐣岄潰 + this.CloseForm(); + }); + } + + #endregion + + #region 鈻� 鏄剧ず鍦板浘___________________________ + + /// <summary> + /// 妫�娴嬫潈闄�,鐒跺悗鏄剧ず鍦板浘 + /// </summary> + /// <param name="btnLocation">鍦板潃鏄剧ず鎺т欢</param> + private void CheckAuthorityAndShowMap(NormalViewControl btnLocation) + { +#if Android + //鐢宠瀹氫綅鏉冮檺 + ((BaseActivity)Application.Activity).SetGPSLocationPermission((result1) => + { + if (result1 == false) { return; } + + //鐢宠鍏佽绋嬪簭鍐欏叆澶栭儴瀛樺偍锛屽SD鍗′笂鍐欐枃浠� + ((BaseActivity)Application.Activity).SetPermission((result2) => + { + if (result2 == false) { return; } + //璇诲彇鐢佃瘽鐘舵�佹潈闄� + ((BaseActivity)Application.Activity).SetPermission((result3) => + { + if (result3 == false) { return; } + //鏄剧ず鍦板浘 + this.ShowMap(btnLocation); + }, "android.permission.READ_PHONE_STATE"); + + }, "android.permission.WRITE_EXTERNAL_STORAGE"); + }); +#endif +#if iOS + //鏄剧ず鍦板浘 + this.ShowMap(btnLocation); +#endif + } + + /// <summary> + /// 鏄剧ず鍦板浘 + /// </summary> + /// <param name="btnLocation">鍦板潃鏄剧ず鎺т欢</param> + private void ShowMap(NormalViewControl btnLocation) + { + //榛樿鍊� 23.134421,113.267189 + double latitude = Common.Config.Instance.Home.Latitude; + double longitude = Common.Config.Instance.Home.Longitude; + //鍦板浘 + GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => + { + HdlThreadLogic.Current.RunThread(() => + { + //淇濆瓨浣忓畢鍦板潃 + this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude, name); + }); + }, + Language.StringByID(R.MyInternationalizationString.uSelectAdrress), + Language.StringByID(R.MyInternationalizationString.uSave), + true, latitude, longitude, 100); + } + + #endregion + + #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________ + + /// <summary> + /// 淇濆瓨浣忓畢鍦板潃 + /// </summary> + /// <param name="btnLocation">鏄剧ず鎺т欢</param> + /// <param name="latitude">绾害</param> + /// <param name="longitude">缁忓害</param> + /// <param name="addresName">浣嶇疆鍚嶇О</param> + private void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude, string addresName) + { + //濡傛灉涓嶆槸铏氭嫙浣忓畢,鎵嶆洿鏂颁簯绔� + if (Common.Config.Instance.Home.IsVirtually == false) + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + var Pra = new EditorResidencePra(); + Pra.HomeId = Common.Config.Instance.Home.Id; + Pra.Name = Common.Config.Instance.Home.Name; + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + Pra.Latitude = latitude; + Pra.Longitude = longitude; + + //缂栬緫浣忓畢 + bool flage = UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", true, Pra); + if (flage == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + //璁剧疆鍏ㄩ儴缃戝叧鐨勪綇瀹呭湴鍧� + var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway(); + foreach (var gateway in listGateway) + { + ZigBee.Device.ZbGateway realWay = null; + if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, gateway) == false) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + continue; + } + var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude, ShowErrorMode.YES); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + } + + //淇濆瓨缂撳瓨 + Common.Config.Instance.Home.Longitude = longitude; + Common.Config.Instance.Home.Latitude = latitude; + Common.Config.Instance.Home.ResidenceAddressName = addresName; + Common.Config.Instance.Home.Save(); + HdlThreadLogic.Current.RunMain(() => + { + btnLocation.Text = addresName; + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 妫�娴婣pp鐨勪綇瀹呮ā寮� 0:杩樻病鏈夎缃湁妯″紡 1:妤煎眰妯″紡 2:娌℃湁妤煎眰妯″紡 + /// </summary> + /// <returns></returns> + private int CheckAppResidenceMode() + { + if (Common.Config.Instance.Home.FloorDics.Count > 0) + { + //鎷ユ湁妤煎眰 + return 1; + } + if (HdlRoomLogic.Current.GetAllListRooms().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.Tip, 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.Tip, msg); + return false; + } + } + return true; + } + + /// <summary> + /// 璋冩暣鎺т欢妗屽竷楂樺害 + /// </summary> + private void AdjustContrlTableHeight() + { + //璋冩暣妗屽竷楂樺害 + listView.AdjustRealHeight(Application.GetRealHeight(23)); + this.frameTable.Height = listView.Bottom; + this.listBackContr.AdjustTableHeight(); + } + + #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