JLChen
2021-01-06 f60ce72c3c29c7d31a046795c88ec39a69e73d45
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -116,7 +116,7 @@
                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                    var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2);
                    if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
                    if (revertObj2.StateCode.ToUpper () == StateCode.SUCCESS) {
                        var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
                        var responseDataObj = mResidenceRes.PageData;
                        //if(responseDataObj == null && responseDataObj.Count == 0) {
@@ -289,7 +289,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",
@@ -313,7 +313,7 @@
                Button FromSharingButton = new Button () {
                    X = Application.GetRealWidth (480),
                    Width = Application.GetRealWidth (30),
                    Height = Application.GetRealHeight (30),
                    Height = Application.GetRealWidth (30),
                    Gravity = Gravity.CenterVertical,
                    UnSelectedImagePath = "CrabtreeAdd/FromSharing.png",
                    SelectedImagePath = "CrabtreeAdd/FromSharing.png",
@@ -375,7 +375,7 @@
                };
                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,
@@ -475,10 +475,11 @@
                                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);
                                if (revertObj.StateCode.ToUpper () == "SUCCESS") {
                                //var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password };
                                //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                                //var revertObj = MainPage.RequestHttps (API.Login, requestJson);
                                var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, MainPage.LoginUser.Password);
                                if (revertObj.Code== StateCode.SUCCESS) {
                                    var requestObj2 = new DelHomeObj () {
                                        HomeId = home.Id,
@@ -486,7 +487,7 @@
                                    };
                                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                                    var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2);
                                    if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
                                    if (revertObj2.StateCode.ToUpper () == StateCode.SUCCESS) {
                                        Application.RunOnMainThread (() => {
                                            GetHomeList ();
                                        });
@@ -538,11 +539,42 @@
        }
        /// <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);
@@ -563,8 +595,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 +645,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) {
@@ -701,10 +734,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),
@@ -725,27 +758,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 () != StateCode.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 () != StateCode.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 ();
                        });
                    }
                });
            };
@@ -790,7 +866,7 @@
                    };
                    var requestJson21 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj21);
                    var revertObj21 = MainPage.RequestHttps (API.AddHome, requestJson21);
                    if ( revertObj21.StateCode.ToUpper()  != "SUCCESS") {
                    if ( revertObj21.StateCode.ToUpper()  != StateCode.SUCCESS) {
                        ShowAddHomeErrorInfo (revertObj21.StateCode);
                        return false;
                    }
@@ -810,7 +886,7 @@
                    }
                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
                    if (revertObj2.StateCode.ToUpper()  != "SUCCESS") {
                    if (revertObj2.StateCode.ToUpper()  != StateCode.SUCCESS) {
                        ShowEditHomeErrorInfo (revertObj2.StateCode);
                        return false;
                    }