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 | 244 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 191 insertions(+), 53 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index 434417d..6ca7502 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -68,6 +68,7 @@ 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"; @@ -83,8 +84,39 @@ btnNowView.Y = Application.GetRealHeight(95); btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1; rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly); - //鍙崇澶� - rowHome.frameTable.AddRightArrow(); + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + 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) { @@ -160,12 +192,12 @@ //娌℃湁璁剧疆杩囨ā寮� if (AppResidenceMode == 0) { - var frame = new TopRightMenuControl(2); + var frame = new TopRightMenuControl(2, 2); //鍒涘缓妤煎眰 frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () => { //鍒涘缓妤煎眰 - this.CreatOrEditorFloor(null, string.Empty, string.Empty); + this.CreatOrEditorFloor(null, null, string.Empty, string.Empty); }); //鍒涘缓鎴块棿 frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatRoom), "Item/RoomIcon.png", "Item/RoomIconSelected.png", () => @@ -183,7 +215,7 @@ else if (AppResidenceMode == 1) { //鍒涘缓妤煎眰 - this.CreatOrEditorFloor(null, string.Empty, string.Empty); + this.CreatOrEditorFloor(null, null, string.Empty, string.Empty); } //鏃犳ゼ灞傛ā寮� else if (AppResidenceMode == 2) @@ -237,7 +269,7 @@ private void InitFloorRow() { //鑾峰彇妤煎眰 - var dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); this.listFloorSort.Clear(); foreach (string keys in dicFloor.Keys) { @@ -296,17 +328,12 @@ 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; + var btnChanged = frameRow.AddEditorControl(); btnChanged.TextID = R.MyInternationalizationString.uChanged1; - frameRow.AddRightView(btnChanged); btnChanged.ButtonClickEvent += (sender, e) => { //鍒涘缓鎴栬�呯紪杈戞ゼ灞� - this.CreatOrEditorFloor(btnFloor, keys, floorName); + this.CreatOrEditorFloor(frameRow, btnFloor, keys, floorName); }; //鍒犻櫎 @@ -324,32 +351,42 @@ { //绉婚櫎妤煎眰 Common.Config.Instance.Home.FloorDics.Remove(keys); - if (Common.Room.CurrentRoom == null) + if (Common.Config.Instance.Home.CurrentFloorId == keys) { - 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) + //濡傛灉鍒犻櫎鐨勬槸褰撳墠妤煎眰鐨勮瘽 + Common.Config.Instance.Home.CurrentFloorId = string.Empty; + foreach (string floorId in Common.Config.Instance.Home.FloorDics.Keys) { - listDeleteFile.Add(Common.Room.Lists[i].FileName); + //鎶婄涓�涓ゼ灞侷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); } } - //鍒犻櫎鎴块棿 - foreach (string fileName in listDeleteFile) - { - Common.Room.CurrentRoom.Remove(fileName); - } //濡傛灉褰撳墠閫夋嫨鐨勬埧闂存槸鍒犻櫎瀵硅薄鐨勮瘽 - if (Common.Room.CurrentRoom.FloorId == keys) + if (HdlRoomLogic.Current.CurrentRoom.FloorId == keys) { - Common.Room.CurrentRoom = Common.Room.Lists[0]; + HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); + } + //鍒犻櫎鎴块棿 + foreach (string roomId in listDeleteId) + { + HdlRoomLogic.Current.RemoveRoom(roomId); } Common.Config.Instance.Home.Save(); //淇濆瓨椤哄簭 listFloorSort.Remove(keys); - Common.Room.CurrentRoom.SaveFloorSort(listFloorSort); + HdlRoomLogic.Current.SaveFloorSort(listFloorSort); if (Common.Config.Instance.Home.FloorDics.Count == 0) { @@ -372,10 +409,10 @@ /// <param name="btnFloor"></param> /// <param name="keys"></param> /// <param name="floorName"></param> - private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName) + private void CreatOrEditorFloor(RowLayoutControl frameRow, NormalViewControl btnFloor, string keys, string floorName) { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + var dialogForm = new DialogInputControl(); //鍒涘缓妤煎眰 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor)); if (keys != string.Empty) @@ -385,11 +422,21 @@ } //璇疯緭鍏ユゼ灞傚悕绉� dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName)); - dialogForm.Text = floorName; - + 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) { //妤煎眰鍚嶇О妫�娴� @@ -406,6 +453,12 @@ } 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; @@ -458,7 +511,7 @@ private void InitRoomListRow() { //鑾峰彇妤煎眰鐨勬埧闂� - var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty); + var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty); this.listRoomSort.Clear(); for (int i = 0; i < listRoom.Count; i++) { @@ -531,17 +584,18 @@ //纭鍒犻櫎鎴块棿? this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteRoomMsg), () => { - if (Common.Room.CurrentRoom.Id == room.Id) + if (HdlRoomLogic.Current.CurrentRoom.Id == room.Id) { //濡傛灉鍒犻櫎鐨勬槸褰撳墠鎴块棿鐨勮瘽 - Common.Room.CurrentRoom = Common.Room.Lists[0]; + HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); } - Common.Room.CurrentRoom.Remove(room.FileName); + HdlRoomLogic.Current.RemoveRoom(room.Id); //淇濆瓨椤哄簭 this.listRoomSort.Remove(room.Id); - Common.Room.CurrentRoom.SaveRoomSort(string.Empty, this.listRoomSort); + HdlRoomLogic.Current.SaveRoomSort(string.Empty, this.listRoomSort); - if (Common.Room.Lists.Count <= 1) + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + if (listAllRoom.Count <= 1) { //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠� this.InitFrameTableByMode(); @@ -567,16 +621,36 @@ //寮�鍚繘搴︽潯 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) + if (Common.Config.Instance.Home.IsOthreShare == false) { - return; + //鍒犻櫎涓讳汉鑷繁鐨勪綇瀹� + 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; + } } //鍥犱负鍒犻櫎鐨勬槸褰撳墠鐨勪綇瀹�,鎵�浠ラ渶瑕佸厛鍒囨崲鍒板埆鐨勪綇瀹� @@ -607,9 +681,10 @@ Common.Config.Instance.HomeId = myHouse.Id; Common.Global.CreateHomeDirectory(myHouse.Id); Common.Config.Instance.Save(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ - await UserCenterLogic.InitUserCenterMenmoryAndThread(); - Common.Room.InitAllRoom(); + await UserCenterLogic.InitUserCenterMenmoryAndThread(false); + HdlRoomLogic.Current.InitAllRoom(); //鍒犻櫎浣忓畢 Common.House.DeleteHouseByHouseId(deleteId); @@ -618,6 +693,69 @@ { //鍏抽棴鐣岄潰 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; }); } @@ -636,7 +774,7 @@ //鎷ユ湁妤煎眰 return 1; } - if (Common.Room.Lists.Count > 1) + if (HdlRoomLogic.Current.GetAllListRooms().Count > 1) { //鏃犳ゼ灞傛ā寮� return 2; @@ -658,7 +796,7 @@ { //璇疯緭鍏ヤ綇瀹呭悕绉� string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName); - this.ShowMassage(ShowMsgType.Error, msg); + this.ShowMassage(ShowMsgType.Tip, msg); return false; } foreach (string floorKeys in Common.Config.Instance.Home.FloorDics.Keys) @@ -667,7 +805,7 @@ { //妤煎眰鍚嶇О宸茬粡瀛樺湪 string msg = Language.StringByID(R.MyInternationalizationString.uFloorNameIsExist); - this.ShowMassage(ShowMsgType.Error, msg); + this.ShowMassage(ShowMsgType.Tip, msg); return false; } } -- Gitblit v1.8.0