From cc8749fe1d158ee21670bde77fad237be2f0c416 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期五, 08 一月 2021 11:47:06 +0800 Subject: [PATCH] 2021-01-08 1.去掉无关文件 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs | 538 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 345 insertions(+), 193 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs index 5b6880d..8475308 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs @@ -5,13 +5,93 @@ { public class GuideAddResidence : FrameLayout { + public bool IsHideBack = false; + + bool IsNeedGoToGuideAddGatewayView = false; + public GuideAddResidence () { BackgroundColor = SkinStyle.Current.MainColor; } - public void ShowHomeList (bool showDialog = true) + //bool isInitViewEnd = false; + VerticalScrolViewLayout VerticalScrolViewMiddle; + + public void ShowHomeView (bool showDialog = false) { + #region 鏍囬 + var topView = new FrameLayout () { + Y = Application.GetRealHeight (36), + Height = Application.GetRealHeight (90), + }; + AddChidren (topView); + + var title = new Button () { + TextAlignment = TextAlignment.Center, + Text = "Zones/Residences", + TextSize = 19, + TextColor = SkinStyle.Current.TextColor1 + }; + topView.AddChidren (title); + + Button ItemButton = new Button () { + Width = Application.GetRealWidth (55), + Height = Application.GetRealHeight (55), + UnSelectedImagePath = "Item/+.png", + SelectedImagePath = "Item/+.png", + Y = Application.GetRealHeight (17), + X = Application.GetRealWidth (640 - 80), + }; + topView.AddChidren (ItemButton); + ItemButton.MouseUpEventHandler += (sender1, e1) => { + //GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false); + GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false); + }; + + //if (!IsHideBack) { + var back = new Button () { + Height = Application.GetRealHeight (90), + Width = Application.GetRealWidth (85), + UnSelectedImagePath = "Item/Back.png", + SelectedImagePath = "Item/BackSelected.png", + }; + topView.AddChidren (back); + back.MouseUpEventHandler += (sender, e) => { + if (IsHideBack) { + ShowIfLogoutAlter (); + } else { + (Parent as PageLayout).PageIndex -= 1; + } + + }; + + //} + + + + #endregion + + var BodyView = new FrameLayout () { + Width = LayoutParams.MatchParent, + Height = Application.GetRealHeight (1136 - 126), + Y = topView.Bottom, + BackgroundColor = SkinStyle.Current.ViewColor, + }; + AddChidren (BodyView); + + VerticalScrolViewMiddle = new VerticalScrolViewLayout (); + BodyView.AddChidren (VerticalScrolViewMiddle); + + GetHomeList (showDialog); + + } + + /// <summary> + /// 鏌ヨ鎵�鏈変綇瀹呭垪琛� + /// </summary> + /// <param name="showDialog"></param> + void GetHomeList (bool showDialog = false) { + new System.Threading.Thread (() => { bool needHide = true; try { @@ -30,20 +110,12 @@ } }) { IsBackground = true }.Start (); }); - // 璇诲彇浣忓畢鍒楄〃 - var requestObj2 = new GetHomePagerObj (); - requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2); - if (revertObj2.StateCode.ToUpper() == "SUCCESS") { - var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ()); - var responseDataObj = mResidenceRes.PageData; - //if(responseDataObj == null && responseDataObj.Count == 0) { - // return; - //} - UserConfig.Instance.HomeLists = responseDataObj; - if (responseDataObj != null && responseDataObj.Count > 0) { + //鑾峰彇浣忓畢鍒楄〃 + var revertObjCode = HttpServerRequest.Current.GetHomePager (); + if (revertObjCode == StateCode.SUCCESS) { + var mHomeLists = UserConfig.Instance.HomeLists; + if (mHomeLists != null && mHomeLists.Count > 0) { if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].Name)) { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -52,7 +124,13 @@ }); } UserConfig.Instance.SaveUserConfig (); - UserConfig.Instance.CurrentRegion = responseDataObj.Find ((obj) => obj.Name == UserConfig.Instance.CurrentRegion.Name); + //2020-01-16 + var mHome = mHomeLists.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id); + if (mHome != null) { + UserConfig.Instance.CurrentRegion = mHome; + } else { + UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0]; + } } else { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -61,8 +139,7 @@ return; } } else { - ShowGetHomePagerErrorInfo (revertObj2.StateCode); - + IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode); Application.RunOnMainThread (() => { MainPage.Loading.Hide (); this.RemoveFromParent (); @@ -74,124 +151,95 @@ MainPage.Loading.Hide (); ShowHomeListView (showDialog); }); - } catch (Exception ex) { - Application.RunOnMainThread (() => { - MainPage.Loading.Hide (); - this.RemoveFromParent (); + } catch (Exception ex) { + Application.RunOnMainThread (() => { + MainPage.Loading.Hide (); + this.RemoveFromParent (); + needHide = false; + }); + Utlis.WriteLine (ex.Message); + } finally { needHide = false; - }); - Console.WriteLine (ex.Message); - } finally { - needHide = false; - } - }) { IsBackground = true }.Start (); + } + }) { IsBackground = true }.Start (); } - - /// <summary> - /// + /// 鍔犺浇鍒锋柊鎵�鏈変綇瀹� /// </summary> - /// <param name="stateCodeStr"></param> - void ShowGetHomePagerErrorInfo (string stateCodeStr) + /// <param name="ifNeedShowDialog"></param> + void ShowHomeListView (bool ifNeedShowDialog = false) { - string mes = ""; - //2020-01-06 寰呰ˉ鍏� - if (stateCodeStr == ErrorCode.NetworkError) { - mes = ErrorCode.NetworkError; - } else { - mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; - - } - if (!string.IsNullOrEmpty (mes)) { - Application.RunOnMainThread (() => { - new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); - }); - } - - - } - - void ShowHomeListView (bool showDialog = true) - { - RemoveAll (); - #region 鏍囬 - var topView = new FrameLayout () { - Y = Application.GetRealHeight (36), - Height = Application.GetRealHeight (90), - }; - AddChidren (topView); - - var title = new Button () { - TextAlignment = TextAlignment.Center, - Text= "Zones/Residences", - TextSize = 19, - TextColor = SkinStyle.Current.TextColor1 - }; - topView.AddChidren (title); - - Button ItemButton = new Button () { - Width = Application.GetRealWidth (55), - Height = Application.GetRealHeight (55), - UnSelectedImagePath = "Item/+.png", - SelectedImagePath = "Item/+.png", - Y = Application.GetRealHeight (17), - X = Application.GetRealWidth (640 - 80), - }; - topView.AddChidren (ItemButton); - ItemButton.MouseUpEventHandler += (sender1, e1) => { - GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false); - }; - if (showDialog) { - var back = new Button () { - Height = Application.GetRealHeight (90), - Width = Application.GetRealWidth (85), - UnSelectedImagePath = "Item/Back.png", - SelectedImagePath = "Item/BackSelected.png", - }; - topView.AddChidren (back); - back.MouseUpEventHandler += (sender, e) => { - (Parent as PageLayout).PageIndex -= 1; - }; - } - #endregion - - var BodyView = new FrameLayout () { - Width = LayoutParams.MatchParent, - Height = Application.GetRealHeight (1136 - 126), - Y = topView.Bottom, - BackgroundColor = SkinStyle.Current.ViewColor, - }; - AddChidren (BodyView); - - VerticalScrolViewLayout VerticalScrolViewMiddle = new VerticalScrolViewLayout (); - BodyView.AddChidren (VerticalScrolViewMiddle); - try { + VerticalScrolViewMiddle.RemoveAll (); foreach (var tempHome in UserConfig.Instance.HomeLists) { AddResidenceListRow (tempHome, VerticalScrolViewMiddle); } } catch { } - if (UserConfig.Instance.GatewayList !=null && UserConfig.Instance.GatewayList.Count == 0) { - if (showDialog) { + + if (!UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) { + if (ifNeedShowDialog) { GuideAddHomeDialog (UserConfig.Instance.HomeLists [0], true); UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0]; } } + try { + if (IsNeedGoToGuideAddGatewayView) { + IsNeedGoToGuideAddGatewayView = false; + if (UserConfig.Instance.CurrentRegion.IsOthreShare) { + //鎻愮ず娌℃湁鍒嗕韩浣忓畢鐨勬潈闄� + new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show (); + return; + } + GotoGuideAddGatewayView (UserConfig.Instance.CurrentRegion); + } + } catch { } + + } + + /// <summary> + /// 鎻愮ず鐢ㄦ埛鏄惁閫�鍑虹櫥褰� + /// </summary> + void ShowIfLogoutAlter () + { + var logoutAlert = new Alert ("", "Log out?", "No", "Yes"); + logoutAlert.Show (); + logoutAlert.ResultEventHandler += (sender1, e1) => { + if (e1) { + AccountLogout (); + } + }; + + } + + /// <summary> + /// 閫�鍑虹櫥褰� + /// </summary> + void AccountLogout () + { + try { + this.RemoveFromParent (); + MainPage.LoginUser.LastTime = DateTime.Now.AddDays (-30); + MainPage.LoginUser.SaveUserInfo (); + new AccountLogin ().Show (); + } catch { + + } + } /// <summary> /// 鍔犺浇鐣岄潰 /// </summary> /// <param name="home">Home.</param> - /// <param name="VerticalScrolViewMiddle">Vertical scrol view middle.</param> - void AddResidenceListRow (RegionInfoRes home, VerticalScrolViewLayout VerticalScrolViewMiddle ) + /// <param name="mVerticalScrolViewMiddle">Vertical scrol view middle.</param> + void AddResidenceListRow (RegionInfoRes home, VerticalScrolViewLayout mVerticalScrolViewMiddle) { var rowView = new RowLayout () { Height = Application.GetRealHeight (110), }; - VerticalScrolViewMiddle.AddChidren (rowView); + mVerticalScrolViewMiddle.AddChidren (rowView); Button btnRowLine = new Button () { Y = Application.GetRealHeight (107), @@ -202,7 +250,7 @@ var btnPoint = new Button () { Width = Application.GetRealWidth (10), - Height = Application.GetRealHeight (10), + Height = Application.GetRealWidth (10), X = Application.GetRealWidth (50), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Item/Point.png", @@ -220,12 +268,24 @@ }; rowView.AddChidren (btnName); + //鏄剧ず鍒嗕韩鎸夐挳 + if (home.IsOthreShare) { + Button FromSharingButton = new Button () { + X = Application.GetRealWidth (480), + Width = Application.GetRealWidth (30), + Height = Application.GetRealWidth (30), + Gravity = Gravity.CenterVertical, + UnSelectedImagePath = "CrabtreeAdd/FromSharing.png", + SelectedImagePath = "CrabtreeAdd/FromSharing.png", + }; + rowView.AddChidren (FromSharingButton); + } + var goNextButton = new Button () { X = Application.GetRealWidth (500), Width = Application.GetRealWidth (120), }; rowView.AddChidren (goNextButton); - Button rightButton1 = new Button () { X = Application.GetRealWidth (550), @@ -236,22 +296,30 @@ SelectedImagePath = "Item/RightSelected.png", }; rowView.AddChidren (rightButton1); + EventHandler<MouseEventArgs> eHandler = (sender, e) => { if (home.Id == UserConfig.Instance.CurrentRegion.Id) { - //UserConfig.Instance.GatewayMAC = gatewayMAC; - var addGatewayDialog = new GuideAddGateway (); - (Parent as PageLayout).AddChidren (addGatewayDialog); - addGatewayDialog.ShowPage (home); - (Parent as PageLayout).PageIndex = (Parent as PageLayout).ChildrenCount - 1; + if (home.IsOthreShare) { + //鎻愮ず娌℃湁鍒嗕韩浣忓畢鐨勬潈闄� + new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show (); + return; + } + + GotoGuideAddGatewayView (home); } else { ChangeRegion (home); } }; - rightButton1.MouseUpEventHandler += eHandler; + rightButton1.MouseUpEventHandler += eHandler; goNextButton.MouseUpEventHandler += eHandler; - btnName.MouseUpEventHandler += (sender,e)=> { + btnName.MouseUpEventHandler += (sender, e) => { if (home.Id == UserConfig.Instance.CurrentRegion.Id) { - GuideAddHomeDialog (home, false,true, btnName); + if (home.IsOthreShare) { + //鎻愮ず娌℃湁鍒嗕韩浣忓畢鐨勬潈闄� + new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show (); + return; + } + GuideAddHomeDialog (home, false, true, btnName); } else { ChangeRegion (home); } @@ -267,13 +335,19 @@ }; rowView.AddChidren (btnCheck); } - if (UserConfig.Instance.CurrentRegion.Id != home.Id && MainPage.LoginUser.AccountType != 1) { + if (UserConfig.Instance.CurrentRegion.Id != home.Id) { Button btnDel = new Button () { TextID = R.MyInternationalizationString.Del, BackgroundColor = SkinStyle.Current.DelColor, }; rowView.AddRightView (btnDel); btnDel.MouseUpEventHandler += (sd, ee) => { + if (home.IsOthreShare) { + //鎻愮ず娌℃湁鍒嗕韩浣忓畢鐨勬潈闄� + new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show (); + return; + } + Dialog dialog = new Dialog (); FrameLayout dialogBody = new FrameLayout () { @@ -354,6 +428,7 @@ btnConfirm.MouseUpEventHandler += (dou, ni) => { string password = etPw.Text.Trim (); if (string.IsNullOrEmpty (password)) { + Utlis.ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.PasswordIsEmpty)); return; } System.Threading.Tasks.Task.Run (() => { @@ -361,20 +436,17 @@ Application.RunOnMainThread (() => { MainPage.Loading.Start ("Please wait..."); }); - var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false); - if (revertObj.StateCode.ToUpper() == "SUCCESS") { - - var requestObj2 = new DelHomeObj () { HomeId = home.Id }; - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2); - if (revertObj2.StateCode.ToUpper () == "SUCCESS") { + + var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, password); + if (revertObj.Code == StateCode.SUCCESS) { + //鍒犻櫎浣忓畢 + var revertObj2 = HttpServerRequest.Current.DeleteHome (home.Id); + if (revertObj2.Code == StateCode.SUCCESS) { Application.RunOnMainThread (() => { - ShowHomeList (); + GetHomeList (); }); } else { - ShowDelHomeErrorInfo (revertObj2.StateCode); + IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code); } } else { Application.RunOnMainThread (() => { @@ -404,7 +476,7 @@ if (stateCodeStr == "NoLogin") { mes = ErrorCode.NoLogin; } else if (stateCodeStr == "CurrentHomeExixtsGatewayBind") { - mes = ErrorCode.HomeIdAndTokenNoConsistent; + mes = ErrorCode.CurrentHomeExixtsGatewayBind; } else if (stateCodeStr == ErrorCode.NetworkError) { mes = ErrorCode.NetworkError; } else { @@ -421,28 +493,79 @@ } /// <summary> + /// 鍚姩鏈湴妯″紡 + /// </summary> + void EnableLocalMode () { + MainPage.AddTip ("Enable local mode."); + Utlis.ShowAppLinkStatus (AppLinkStatus.WiFiOffline); + CommonPage.IsRemote = false; + SmartHome.MqttCommon.DisConnectRemoteMqttClient ("EnableLocalMode"); + } + + /// <summary> + /// 鍚姩杩滅▼妯″紡 + /// </summary> + void EnableRemoteMode () + { + MainPage.AddTip ("Restore remote mode."); + Utlis.ShowAppLinkStatus (AppLinkStatus.CloudUnlink); + CommonPage.IsRemote = true; + } + + /// <summary> + /// 璺宠浆缃戝叧鎼滅储椤甸潰 + /// </summary> + /// <param name="home"></param> + void GotoGuideAddGatewayView (RegionInfoRes home) { + try { + //杩滅▼杩炴帴鐨勬椂鍊欑姝� 鎼滅储缃戝叧鍜屾坊鍔犺澶� + if (CommonPage.IsRemote) { + ////褰撳墠澶勪簬杩滅▼杩炴帴妯″紡锛屾棤娉曡繘鍏ユ悳绱㈢綉鍏抽〉闈€�傝鍏堝垏鎹㈠洖鏈湴杩炴帴妯″紡銆� + //new Alert ("", "Currently in remote connection mode, unable to enter the search gateway page. Please switch back to local connection mode first.", Language.StringByID (R.MyInternationalizationString.Close)).Show (); + //return; + + //2020-06-29 鍚姩鏈湴閫氫俊妯″紡 + EnableLocalMode (); + } + + + var addGatewayDialog = new GuideAddGateway (); + (Parent as PageLayout).AddChidren (addGatewayDialog); + addGatewayDialog.ShowPage (home); + (Parent as PageLayout).PageIndex = (Parent as PageLayout).ChildrenCount - 1; + } catch { + + Utlis.WriteLine ("============>GotoGuideAddGatewayView 璺宠浆澶辫触 "); + } + + } + + /// <summary> /// 鏇存崲鏈湴鍖哄煙 /// </summary> /// <param name="home">Home.</param> /// <param name="gatewayMAC">Gateway mac.</param> - void ChangeRegion (RegionInfoRes home, bool goHomePage = true) + /// + void ChangeRegion (RegionInfoRes home, bool goHomePage = true, bool bNeedCheckAddRoom = false, bool goToGuideAddGatewayView = false) { - MainPage.Loading.Start ("Please wait..."); + if (home == null || string.IsNullOrEmpty (home.Id)) return; + Application.RunOnMainThread (() => { + MainPage.Loading.Start ("Please wait..."); + }); System.Threading.Tasks.Task.Run (() => { try { - //if (home.RegionID != UserConfig.Instance.CurrentRegion.RegionID) { var backuplist = IO.FileUtils.ReadFiles (); int index = 0; - if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Name)) { + if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Id)) { UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0]; } - string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Name); + string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Id); IO.FileUtils.DeleteRegionFiles (oldRegionRootPath); foreach (var fileName in backuplist) { System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName); if (fileInfo.Exists) { fileInfo.MoveTo (oldRegionRootPath + fileName); - Console.WriteLine ("move file : " + fileName); + Utlis.WriteLine ("move file : " + fileName); } index++; Application.RunOnMainThread (() => { @@ -451,30 +574,36 @@ }); } IO.FileUtils.DeleteAllFile (); - string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.Name); + string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.Id); IO.FileUtils.RestoreRegionFiles (newRegionRootPath); UserConfig.Instance.CurrentRegion = home; UserConfig.Instance.SaveUserConfig (); Room.InitAllRoom (); Application.RunOnMainThread (() => { - ShowHomeList (); + if (goToGuideAddGatewayView) { + IsNeedGoToGuideAddGatewayView = true; + } + GetHomeList (false); + if (goHomePage) { UserConfig.Instance.RefreshUserConfig (); new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully), Language.StringByID (R.MyInternationalizationString.Close)).Show (); //this.RemoveFromParent (); - CommonPage.IsRemote = false; - EquipmentPublicClass.CheckLinkRemote (2); + //CommonPage.IsRemote = false; + EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus); + } + if (bNeedCheckAddRoom) { + CheckIfNeedAddRoom (); } }); MainPage.LoginUser.SaveUserInfo (); - //} } catch (Exception ex) { Application.RunOnMainThread (() => { new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); - Console.WriteLine (ex.Message); + Utlis.WriteLine (ex.Message); } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -545,10 +674,10 @@ etZoneName.EditorEnterAction += (obj) => { Application.HideSoftInput (); }; - if (MainPage.LoginUser.AccountType == 1) { - etZoneName.Enable = false; - etZoneName.BorderWidth = 0; - } + //if (MainPage.LoginUser.AccountType == 1) { + // etZoneName.Enable = false; + // etZoneName.BorderWidth = 0; + //} var BottomView = new FrameLayout () { Y = Application.GetRealHeight (400 - 88), @@ -565,30 +694,40 @@ }; btnOption.MouseUpEventHandler += (sdf, fds) => { dialog.Close (); - if (etZoneName.Text.Trim () == "") { + var homeName = etZoneName.Text.Trim (); + if (homeName == "") { new Alert ("", Language.StringByID (R.MyInternationalizationString.PleaseEnterZoneName), Language.StringByID (R.MyInternationalizationString.Close)).Show (); return; } - if (isChangeName) { - home.Name = button.Text = etZoneName.Text; - var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); - IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); - return; - } - ChangeRegion (home, false); - var addGatewayDialog = new GuideAddGateway (); - if (guide) { - EditResidence (home, etZoneName.Text.Trim ()); - UserMiddle.guidePageView.AddChidren (addGatewayDialog); - addGatewayDialog.ShowPage (home);//guidePageView - UserMiddle.guidePageView.PageIndex = 1; - } else { - UserMiddle.SettingPageView.AddChidren (addGatewayDialog); - addGatewayDialog.ShowPage (home); - UserMiddle.SettingPageView.PageIndex = 2; - } + + //2020-04-26 + MainPage.Loading.Start ("Please wait..."); + System.Threading.Tasks.Task.Run (() => { + try { + if (isChangeName) { + var revertObj2 = HttpServerRequest.Current.EditResidenceInfo (0, homeName); + if (revertObj2.Code != StateCode.SUCCESS) { + IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code); + return; + } + Application.RunOnMainThread (() => { + home.Name = button.Text = homeName; + }); + //IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); + return; + } + + EditResidence (home, homeName, guide); + + } catch { + //MainPage.FailureToServer (); + } finally { + Application.RunOnMainThread (() => { + MainPage.Loading.Hide (); + }); + } + }); + }; if(!guide) @@ -620,35 +759,51 @@ /// </summary> /// <param name="home">Home.</param> /// <param name="residenceName">Et zone name string.</param> - bool EditResidence (RegionInfoRes home,string residenceName) + bool EditResidence (RegionInfoRes home, string residenceName, bool goToGuideAddGatewayView = false) { if (home.Name != residenceName) { - home.Name = residenceName; + if (string.IsNullOrEmpty(home.Id)) { - var requestObj21 = new AddHomeObj () { - Name = residenceName , - LoginAccessToken = MainPage.LoginUser.LoginTokenString, - - }; - var requestJson21 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj21); - var revertObj21 = MainPage.RequestHttps (API.AddHome, requestJson21); - if ( revertObj21.StateCode.ToUpper() != "SUCCESS") { - ShowAddHomeErrorInfo (revertObj21.StateCode); + var revertObj21 = HttpServerRequest.Current.AddHome (residenceName); + if (revertObj21.Code != StateCode.SUCCESS) { + IMessageCommon.Current.ShowErrorInfoAlter (revertObj21.Code); return false; } + + home.Name = residenceName; + //鍒涘缓浣忓畢鎴愬姛锛屽垏鎹㈠埌璇ヤ綇瀹� + var newHome = Newtonsoft.Json.JsonConvert.DeserializeObject<RegionInfoResNew> (revertObj21.Data.ToString ()); + if (newHome != null && !string.IsNullOrEmpty(newHome.Id)) { + home = HttpServerRequest.Current.RegionInfoResNewToHome (newHome); + if (UserConfig.Instance.HomeLists == null) { + UserConfig.Instance.HomeLists = new List<RegionInfoRes> (); + } + UserConfig.Instance.HomeLists.Add (home); + UserConfig.Instance.SaveUserConfig (); + ChangeRegion (home, true, true, goToGuideAddGatewayView); + } } else { - var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; - var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); - var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); - IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); - if (revertObj2.StateCode.ToUpper() != "SUCCESS") { - ShowEditHomeErrorInfo (revertObj2.StateCode); + var revertObj2 = HttpServerRequest.Current.EditResidenceInfo (0, residenceName); + if (revertObj2.Code != StateCode.SUCCESS) { + IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code); return false; } + home.Name = residenceName; + //IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); + ChangeRegion (home, false, true, goToGuideAddGatewayView); + //CheckIfNeedAddRoom (); } - UserConfig.Instance.CurrentRegion = home; - UserConfig.Instance.SaveUserConfig (); + }else { + ChangeRegion (home, false, true, goToGuideAddGatewayView); } + return true; + + } + + /// <summary> + /// 妫�娴嬫槸鍚﹂粯璁ゅ垱寤烘埧闂� + /// </summary> + void CheckIfNeedAddRoom () { if (Room.Lists.FindAll ((obj) => obj.Name == "Living Room" || obj.Name == "Bedroom").Count == 0) { Room room = new Room (); string newRoomFilePath = typeof (Room).Name + "_Living Room"; @@ -665,12 +820,9 @@ room.Add (newRoomFilePath); room.Save (newRoomFilePath); Room.Lists.Add (room); + + Room.InitAllRoom (); } - if (home.Name != residenceName) { - ShowHomeList (); - } - return true; - } -- Gitblit v1.8.0