Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -439,7 +439,8 @@
        /// </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)
        {
            if (home == null || string.IsNullOrEmpty (home.Id)) return;
@@ -475,6 +476,7 @@
                    Application.RunOnMainThread (() => {
                        ShowHomeList (false);
                        if (goHomePage) {
                            UserConfig.Instance.RefreshUserConfig ();
                            new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully),
@@ -483,8 +485,20 @@
                            CommonPage.IsRemote = false;
                            EquipmentPublicClass.CheckLinkRemote (2);
                        }
                        if (bNeedCheckAddRoom) {
                            CheckIfNeedAddRoom ();
                        }
                        if (goToGuideAddGatewayView) {
                            var addGatewayDialog = new GuideAddGateway ();
                            UserMiddle.guidePageView.AddChidren (addGatewayDialog);
                            addGatewayDialog.ShowPage (home);//guidePageView
                            UserMiddle.guidePageView.PageIndex = 1;
                        }
                    });
                    MainPage.LoginUser.SaveUserInfo ();
                    //}
                } catch (Exception ex) {
                    Application.RunOnMainThread (() => {
@@ -597,24 +611,30 @@
                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
                    if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
                        ShowEditHomeErrorInfo (revertObj2.StateCode);
                        return;
                    }
                    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                    return;
                }
                ChangeRegion (home, false);
                var addGatewayDialog = new GuideAddGateway ();
                if (guide) {
                    //ShowHomeList ();
                    EditResidence (home, etZoneName.Text.Trim ());
                    UserMiddle.guidePageView.AddChidren (addGatewayDialog);
                    addGatewayDialog.ShowPage (home);//guidePageView
                    UserMiddle.guidePageView.PageIndex = 1;
                } else {
                    EditResidence (home, etZoneName.Text.Trim ());
                    //UserMiddle.SettingPageView.AddChidren (addGatewayDialog);
                    //addGatewayDialog.ShowPage (home);
                    //UserMiddle.SettingPageView.PageIndex = 2;
                }
                //ChangeRegion (home, false);
                EditResidence (home, etZoneName.Text.Trim (), guide);
                //if (guide) {
                //    //ShowHomeList ();
                //    EditResidence (home, etZoneName.Text.Trim ());
                //    var addGatewayDialog = new GuideAddGateway ();
                //    UserMiddle.guidePageView.AddChidren (addGatewayDialog);
                //    addGatewayDialog.ShowPage (home);//guidePageView
                //    UserMiddle.guidePageView.PageIndex = 1;
                //} else {
                //    EditResidence (home, etZoneName.Text.Trim ());
                //}
            };
            if(!guide)
@@ -646,7 +666,7 @@
        /// </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;
@@ -662,6 +682,12 @@
                        ShowAddHomeErrorInfo (revertObj21.StateCode);
                        return false;
                    }
                    //创建住宅成功,切换到该住宅
                    var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj21.ResponseData.ToString ());
                    if (responseDataObj != null && responseDataObj.Count > 0) {
                        ChangeRegion (responseDataObj [0], false, true, goToGuideAddGatewayView);
                    }
                } else {
                    var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
                    string urlHead = MainPage.RequestHttpsHost;
@@ -671,18 +697,31 @@
                    }
                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
                    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                    if (revertObj2.StateCode.ToUpper()  != "SUCCESS") {
                        ShowEditHomeErrorInfo (revertObj2.StateCode);
                        return false;
                    }
                    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
                    ChangeRegion (home, false, true, goToGuideAddGatewayView);
                    //CheckIfNeedAddRoom ();
                }
                ShowHomeList (false);
                //ShowHomeList (false);
                //2020-01-09 去掉切换住宅
                //UserConfig.Instance.CurrentRegion = home;
                //UserConfig.Instance.SaveUserConfig ();
            }else {
                ChangeRegion (home, false, true, goToGuideAddGatewayView);
                //CheckIfNeedAddRoom ();
            }
            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";
@@ -699,12 +738,9 @@
                room.Add (newRoomFilePath);
                room.Save (newRoomFilePath);
                Room.Lists.Add (room);
                Room.InitAllRoom ();
            }
            if (home.Name != residenceName) {
                ShowHomeList ();
            }
            return true;
        }