From 0e1c6c25b1b0961d324811ff2132717a80f99efe Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期日, 26 四月 2020 14:15:05 +0800
Subject: [PATCH] 2020-04-26 1.添加住宅和修改住宅时,改为子线程操作。 2.远程连接模式时,禁用搜索网关和添加设备。3.修复切换住宅时,提示远程连接Loading不关闭问题。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs |   96 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 74 insertions(+), 22 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
index f91a70d..2bda578 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -543,6 +543,14 @@
         /// <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;
+                }
+
+
                 var addGatewayDialog = new GuideAddGateway ();
                 (Parent as PageLayout).AddChidren (addGatewayDialog);
                 addGatewayDialog.ShowPage (home);
@@ -563,8 +571,9 @@
         void ChangeRegion (RegionInfoRes home, bool goHomePage = true, bool bNeedCheckAddRoom = false, bool goToGuideAddGatewayView = false)
         {
             if (home == null || string.IsNullOrEmpty (home.Id)) return;
-
-            MainPage.Loading.Start ("Please wait...");
+            Application.RunOnMainThread (() => {
+                MainPage.Loading.Start ("Please wait...");
+            });
             System.Threading.Tasks.Task.Run (() => {
                 try {
                     //if (home.RegionID != UserConfig.Instance.CurrentRegion.RegionID) {
@@ -612,7 +621,7 @@
                             new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully),
                                       Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                             //this.RemoveFromParent ();
-                            CommonPage.IsRemote = false;
+                            //CommonPage.IsRemote = false;
                             EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
                         }
                         if (bNeedCheckAddRoom) {
@@ -725,27 +734,70 @@
                     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 = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
-                    string urlHead = MainPage.RequestHttpsHost;
-                    if (requestObj2.IsOtherAccountCtrl) {
-                        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
-                        requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
-                    }
 
-                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
-                    if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
-                        ShowEditHomeErrorInfo (revertObj2.StateCode);
-                        return;
-                    }
-                    home.Name = button.Text = etZoneName.Text;
-                    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
-                    return;
-                }
 
-                EditResidence (home, etZoneName.Text.Trim (), guide);
+                //if (isChangeName) {
+                //    //home.Name = button.Text = etZoneName.Text;
+                //    var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+                //    string urlHead = MainPage.RequestHttpsHost;
+                //    if (requestObj2.IsOtherAccountCtrl) {
+                //        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                //        requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                //    }
+
+                //    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
+                //    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
+                //    if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
+                //        ShowEditHomeErrorInfo (revertObj2.StateCode);
+                //        return;
+                //    }
+                //    home.Name = button.Text = etZoneName.Text;
+                //    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
+                //    return;
+                //}
+
+                //EditResidence (home, etZoneName.Text.Trim (), guide);
+
+
+                //2020-04-26
+                MainPage.Loading.Start ("Please wait...");
+                System.Threading.Tasks.Task.Run (() => {
+
+                    try {
+
+                        if (isChangeName) {
+                            //home.Name = button.Text = etZoneName.Text;
+                            var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+                            string urlHead = MainPage.RequestHttpsHost;
+                            if (requestObj2.IsOtherAccountCtrl) {
+                                urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                                requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                            }
+
+                            var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
+                            var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
+                            if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
+                                ShowEditHomeErrorInfo (revertObj2.StateCode);
+                                return;
+                            }
+                            Application.RunOnMainThread (() => {
+                                home.Name = button.Text = etZoneName.Text;
+                            });
+                            IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
+                            return;
+                        }
+
+                        EditResidence (home, etZoneName.Text.Trim (), guide);
+
+
+                    } catch {
+                        //MainPage.FailureToServer ();
+                    } finally {
+                        Application.RunOnMainThread (() => {
+                            MainPage.Loading.Hide ();
+                        });
+                    }
+                });
 
             };
 

--
Gitblit v1.8.0