From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 840 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 840 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs new file mode 100755 index 0000000..6ca7502 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -0,0 +1,840 @@ +锘縰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); + 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.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); + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍙崇澶� + rowHome.frameTable.AddRightArrow(); + } + //缁忕含搴� + var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500); + btnLocation.Text = Common.Config.Instance.Home.ResidenceAddressName; + + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + rowHome.frameTable.UseClickStatu = true; + rowHome.frameTable.ButtonClickEvent += (sender, e) => + { + //榛樿鍊� 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); + }; + } + + 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, 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(); + }; + } + }); + } + + #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 = HdlRoomLogic.Current.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 = frameRow.AddEditorControl(); + btnChanged.TextID = R.MyInternationalizationString.uChanged1; + btnChanged.ButtonClickEvent += (sender, e) => + { + //鍒涘缓鎴栬�呯紪杈戞ゼ灞� + this.CreatOrEditorFloor(frameRow, 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.Config.Instance.Home.CurrentFloorId == keys) + { + //濡傛灉鍒犻櫎鐨勬槸褰撳墠妤煎眰鐨勮瘽 + Common.Config.Instance.Home.CurrentFloorId = string.Empty; + foreach (string floorId in Common.Config.Instance.Home.FloorDics.Keys) + { + //鎶婄涓�涓ゼ灞侷D缁欏畠 + Common.Config.Instance.Home.CurrentFloorId = floorId; + break; + } + //鍒犻櫎褰撳墠妤煎眰鐨勮瘽,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� + HdlRoomLogic.Current.RefreshRoomListView(); + } + 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 (HdlRoomLogic.Current.CurrentRoom.FloorId == keys) + { + HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); + } + //鍒犻櫎鎴块棿 + foreach (string roomId in listDeleteId) + { + HdlRoomLogic.Current.RemoveRoom(roomId); + } + Common.Config.Instance.Home.Save(); + //淇濆瓨椤哄簭 + listFloorSort.Remove(keys); + HdlRoomLogic.Current.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(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(); + + 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 (Common.Config.Instance.Home.CurrentFloorId == string.Empty) + { + Common.Config.Instance.Home.CurrentFloorId = keys; + //鍒涘缓绗竴涓柊鐨勬ゼ灞傜殑璇�,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� + HdlRoomLogic.Current.RefreshRoomListView(); + } + 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 = HdlRoomLogic.Current.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 (HdlRoomLogic.Current.CurrentRoom.Id == room.Id) + { + //濡傛灉鍒犻櫎鐨勬槸褰撳墠鎴块棿鐨勮瘽 + HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); + } + HdlRoomLogic.Current.RemoveRoom(room.Id); + //淇濆瓨椤哄簭 + this.listRoomSort.Remove(room.Id); + HdlRoomLogic.Current.SaveRoomSort(string.Empty, this.listRoomSort); + + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + if (listAllRoom.Count <= 1) + { + //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� + this.InitFrameTableByMode(); + } + else + { + frameRow.RemoveFromParent(); + listView.AdjustRealHeight(Application.GetRealHeight(23)); + } + }); + }; + } + + #endregion + + #region 鈻� 鍒犻櫎浣忓畢___________________________ + + /// <summary> + /// 鍒犻櫎浣忓畢 + /// </summary> + public async void DeleteResidence() + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + if (Common.Config.Instance.Home.IsOthreShare == false) + { + //鍒犻櫎涓讳汉鑷繁鐨勪綇瀹� + var Pra = new DeleteResidencePra(); + Pra.HomeId = Common.Config.Instance.Home.Id; + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + + bool result = await 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 = await 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 = 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(false); + HdlRoomLogic.Current.InitAllRoom(); + + //鍒犻櫎浣忓畢 + Common.House.DeleteHouseByHouseId(deleteId); + + Application.RunOnMainThread(() => + { + //鍏抽棴鐣岄潰 + this.CloseForm(); + }); + } + + #endregion + + #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________ + + /// <summary> + /// 淇濆瓨浣忓畢鍦板潃 + /// </summary> + /// <param name="btnLocation">鏄剧ず鎺т欢</param> + /// <param name="latitude">绾害</param> + /// <param name="longitude">缁忓害</param> + /// <param name="addresName">浣嶇疆鍚嶇О</param> + private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude, string addresName) + { + //寮�鍚繘搴︽潯 + 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 = await 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; + } + + #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