JLChen
2021-01-07 7ed9cc5bb6a07a8358a2705797bd2b31c6e39fd4
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -110,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 () == StateCode.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 ();
@@ -133,7 +125,7 @@
                            }
                            UserConfig.Instance.SaveUserConfig ();
                            //2020-01-16
                            var mHome = responseDataObj.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
                            var mHome = mHomeLists.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
                            if (mHome != null) {
                                UserConfig.Instance.CurrentRegion = mHome;
                            } else {
@@ -147,8 +139,7 @@
                            return;
                        }
                    } else {
                        ShowGetHomePagerErrorInfo (revertObj2.StateCode);
                        IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode);
                        Application.RunOnMainThread (() => {
                            MainPage.Loading.Hide ();
                            this.RemoveFromParent ();
@@ -172,32 +163,6 @@
                }
            }) { IsBackground = true }.Start ();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="stateCodeStr"></param>
        void ShowGetHomePagerErrorInfo (string stateCodeStr)
        {
            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 ();
                });
            }
        }
        /// <summary>
        /// 加载刷新所有住宅
@@ -227,9 +192,7 @@
                        new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
                        return;
                    }
                    GotoGuideAddGatewayView (UserConfig.Instance.CurrentRegion);
                }
            } catch { }
@@ -265,8 +228,6 @@
            }
        }
        /// <summary>
        /// 加载界面
@@ -306,7 +267,6 @@
                TextColor = SkinStyle.Current.TextColor1,
            };
            rowView.AddChidren (btnName);
            //显示分享按钮
            if (home.IsOthreShare) {
@@ -475,24 +435,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);
                                var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, MainPage.LoginUser.Password);
                                if (revertObj.Code== StateCode.SUCCESS) {
                                    var requestObj2 = new DelHomeObj () {
                                        HomeId = home.Id,
                                        LoginAccessToken = MainPage.LoginUser.LoginTokenString
                                    };
                                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                                    var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2);
                                    if (revertObj2.StateCode.ToUpper () == StateCode.SUCCESS) {
                                    //删除住宅
                                    var revertObj2 = HttpServerRequest.Current.DeleteHome (home.Id);
                                    if (revertObj2.Code == StateCode.SUCCESS) {
                                        Application.RunOnMainThread (() => {
                                            GetHomeList ();
                                        });
                                    } else {
                                        ShowDelHomeErrorInfo (revertObj2.StateCode);
                                        IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code);
                                    }
                                } else {
                                    Application.RunOnMainThread (() => {
@@ -600,7 +553,6 @@
            });
            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.Id)) {
@@ -629,16 +581,8 @@
                    Application.RunOnMainThread (() => {
                        if (goToGuideAddGatewayView) {
                            IsNeedGoToGuideAddGatewayView = true;
                            //2020-01-16
                            //GotoGuideAddGatewayView (home);
                            //var addGatewayDialog = new GuideAddGateway ();
                            //UserMiddle.guidePageView.AddChidren (addGatewayDialog);
                            //addGatewayDialog.ShowPage (home);//guidePageView
                            //UserMiddle.guidePageView.PageIndex = 1;
                        }
                        GetHomeList (false);
                        if (goHomePage) {
                            UserConfig.Instance.RefreshUserConfig ();
@@ -651,13 +595,8 @@
                        if (bNeedCheckAddRoom) {
                            CheckIfNeedAddRoom ();
                        }
                    });
                    MainPage.LoginUser.SaveUserInfo ();
                    //}
                } catch (Exception ex) {
                    Application.RunOnMainThread (() => {
                        new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet),
@@ -754,65 +693,30 @@
            };
            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 = 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);
                            var revertObj2 = HttpServerRequest.Current.EditResidenceInfo (0, homeName);
                            if (revertObj2.Code != StateCode.SUCCESS) {
                                IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code);
                                return;
                            }
                            Application.RunOnMainThread (() => {
                                home.Name = button.Text = etZoneName.Text;
                                home.Name = button.Text = homeName;
                            });
                            IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                            //IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                            return;
                        }
                        EditResidence (home, etZoneName.Text.Trim (), guide);
                        EditResidence (home, homeName, guide);
                    } catch {
                        //MainPage.FailureToServer ();
@@ -859,50 +763,37 @@
            if (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()  != StateCode.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 responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj21.ResponseData.ToString ());
                    if (responseDataObj != null && responseDataObj.Count > 0) {
                        ChangeRegion (responseDataObj [0], true, true, goToGuideAddGatewayView);
                    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 = residenceName, 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);
                    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);
                    //IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                    ChangeRegion (home, false, true, goToGuideAddGatewayView);
                    //CheckIfNeedAddRoom ();
                }
                //ShowHomeList (false);
                //2020-01-09 去掉切换住宅
                //UserConfig.Instance.CurrentRegion = home;
                //UserConfig.Instance.SaveUserConfig ();
            }else {
                ChangeRegion (home, false, true, goToGuideAddGatewayView);
                //CheckIfNeedAddRoom ();
            }
            return true;