Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -76,8 +76,8 @@
                TextColor = SkinStyle.Current.TextColor1,
                //Text = account,
#if DEBUG
                //Text = "18926269190@189.cn"
                Text = "721343314@qq.com"
                Text = "18926269190@189.cn"
                //Text = "721343314@qq.com"
#endif
            };
            accountView.AddChidren (etAccount);
@@ -414,19 +414,9 @@
        /// <param name="password">Password.</param>
        private void Login (string account, string password, AccountListDB accountListDB)
        {
            //string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
            //Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
            //Match m = reg.Match (MainPage.RequestHttpsHost);
            //string mResult = m.Groups ["domain"].Value;
            //if (!string.IsNullOrEmpty (mResult)) {
            //    MainPage.RequestHttpsHostMqtt = "https://" + mResult;
            //}
            //return;
            var requestObj = new LoginObj () { Account = account, Password = password, Company = MainPage.SoftSmsType };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false);
            var revertObj = MainPage.RequestHttps (API.Login, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                if (!accountListDB.account.Contains (account)) {
@@ -460,115 +450,37 @@
                var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2);
                if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
                    //var DD = Newtonsoft.Json.Linq.JObject.Parse ("GFGFDG");
                    //DD["ResponseData"]["PageData"];
                    var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
                    //if (mResidenceRes.TotalCount != 0) {
                    //    //当住宅为空时先提示用户新建住宅
                    //} else {
                    var revertRoomData = mResidenceRes.PageData;
                    if (revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id) == null) {
                        if (revertRoomData != null && revertRoomData.Count > 0) {
                            UserConfig.Instance.CurrentRegion = revertRoomData [0];
                            if (UserConfig.Instance.CheckHomeGateways ()) {
                                UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
                            }
                            //if (UserConfig.Instance.CheckHomeGateways ()) {
                            //    UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
                            //}
                            //CheckIfNeedGetMasterAccountToken ();
                            IO.FileUtils.DeleteAllFile ();
                        }
                    } else {
                        Room.InitAllRoom ();
                    }
                    var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
                    gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
                    //var gatewayListObj = new GatewayListObj ();
                    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
                    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
                    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
                        UserConfig.Instance.GatewayList.Clear ();
                        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
                        //var responseGatewayDataObj = mGateRes.PageData;
                        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
                        UserConfig.Instance.SaveUserConfig ();
                        MainPage.LoginUser.LastTime = DateTime.Now;
                        if (UserConfig.Instance.GatewayList.Count == 0) {
                            Application.RunOnMainThread (() => {
                                UserMiddle.Init ();
                                Close ();
                            });
                            return;
                        } else {
                            UserConfig.Instance.HomeLists = revertRoomData;
                            MainPage.LoginUser.SaveUserInfo ();
                            UserConfig.Instance.SaveUserConfig ();
                            Scene.Refresh ();
                            A31MusicModel.Refresh ();
                            Application.RunOnMainThread (() => {
                                Close ();
                                UserMiddle.Init ();
                                EquipmentPublicClass.CheckLinkRemote (2);
                            });
                        }
                    } else {
                        //GetAllBindGatewarysPagger 失败提示
                        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
                    }
                    ////原方案
                    //GetAllBindGatewarysPagger (revertRoomData);
                    ////获取当前住宅网关方案
                    //GetNowHomeGateway (revertRoomData);
                    SaveUserConfig (revertRoomData);
                    //}
                } else {
                    //GetHomePager 失败提示
                    ShowGetHomePagerErrorInfo (revertObj2.StateCode);
                }
                //var requestObj2 = new HomeListObj ();
                //var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                //var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2);
                //if (revertObj2.StateCode.ToUpper() == "SUCCESS") {
                //    var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ());
                //    var revertRoomData = responseDataObj2;
                //    if (revertRoomData.Find ((obj) => obj.RegionID == UserConfig.Instance.CurrentRegion.RegionID) == null) {
                //        UserConfig.Instance.CurrentRegion = revertRoomData [0];
                //        UserConfig.Instance.GatewayMAC = revertRoomData [0].MAC;
                //        IO.FileUtils.DeleteAllFile ();
                //    } else {
                //        Room.InitAllRoom ();
                //    }
                //    var gatewayListObj = new GatewayListObj ();
                //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
                //    var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson);
                //    if (gatewayListRevertObj.StateCode.ToUpper() == "SUCCESS") {
                //        UserConfig.Instance.GatewayList.Clear ();
                //        var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ());
                //        UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
                //        UserConfig.Instance.SaveUserConfig ();
                //        MainPage.LoginUser.LastTime = DateTime.Now;
                //        if (UserConfig.Instance.GatewayList.Count == 0) {
                //            Application.RunOnMainThread (() => {
                //                UserMiddle.Init ();
                //                Close ();
                //            });
                //            return;
                //        } else {
                //            UserConfig.Instance.HomeLists = revertRoomData;
                //            MainPage.LoginUser.SaveUserInfo ();
                //            UserConfig.Instance.SaveUserConfig ();
                //            Scene.Refresh ();
                //            A31MusicModel.Refresh ();
                //            Application.RunOnMainThread (() => {
                //                Close ();
                //                UserMiddle.Init ();
                //                EquipmentPublicClass.CheckLinkRemote (2);
                //            });
                //        }
                //    }
                //}
                //
            } else {
                string stateCodeStr = revertObj.StateCode;
                string mes = "";
                if (stateCodeStr == "NOTVERIFY") {
@@ -616,13 +528,146 @@
        private void SetMqttHost (string URL) {
            string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
            Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
            Match m = reg.Match (URL);
            string mResult = m.Groups ["domain"].Value;
            string mResult = m.Value;
            if (!string.IsNullOrEmpty (mResult)) {
                MainPage.RequestHttpsHostMqtt = "https://" + mResult;
                MainPage.RequestHttpsHostMqtt = mResult;
            }
        }
        //
        /// <summary>
        /// 保存数据 并加载页面
        /// </summary>
        /// <param name="revertRoomData"></param>
        void SaveUserConfig (List<RegionInfoRes> revertRoomData)
        {
            UserConfig.Instance.SaveUserConfig ();
            MainPage.LoginUser.LastTime = DateTime.Now;
            if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
                UserConfig.Instance.HomeLists = revertRoomData;
                MainPage.LoginUser.SaveUserInfo ();
                UserConfig.Instance.SaveUserConfig ();
                Scene.Refresh ();
                A31MusicModel.Refresh ();
                Application.RunOnMainThread (() => {
                    Close ();
                    UserMiddle.Init ();
                    EquipmentPublicClass.CheckLinkRemote (2);
                });
            } else {
                Application.RunOnMainThread (() => {
                    UserMiddle.Init ();
                    Close ();
                });
            }
        }
        ///// <summary>
        ///// 查询当前住宅 网关列表
        ///// </summary>
        //void GetNowHomeGateway (List<RegionInfoRes> revertRoomData)
        //{
        //    var requestObj3 = new GetSingleHomeGatewayPaggerObj ();
        //    requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
        //    requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id;
        //    requestObj3.ReqDto.PageSetting.Page = 1;
        //    requestObj3.ReqDto.PageSetting.PageSize = 999;
        //    string urlHead = MainPage.RequestHttpsHost;
        //    if (requestObj3.IsOtherAccountCtrl) {
        //        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
        //        requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
        //    }
        //    //var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id };
        //    var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
        //    var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
        //    if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
        //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
        //        //var responseGatewayDataObj = mGateRes.PageData;
        //        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
        //        UserConfig.Instance.SaveUserConfig ();
        //        MainPage.LoginUser.LastTime = DateTime.Now;
        //        if (UserConfig.Instance.GatewayList.Count == 0) {
        //            Application.RunOnMainThread (() => {
        //                UserMiddle.Init ();
        //                Close ();
        //            });
        //            return;
        //        } else {
        //            UserConfig.Instance.HomeLists = revertRoomData;
        //            MainPage.LoginUser.SaveUserInfo ();
        //            UserConfig.Instance.SaveUserConfig ();
        //            Scene.Refresh ();
        //            A31MusicModel.Refresh ();
        //            Application.RunOnMainThread (() => {
        //                Close ();
        //                UserMiddle.Init ();
        //                EquipmentPublicClass.CheckLinkRemote (2);
        //            });
        //        }
        //    } else {
        //        Application.RunOnMainThread (() => {
        //            new Alert ("", ErrorCode.FailedGetGatewaysForHome, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
        //        });
        //    }
        //}
        ///// <summary>
        ///// GetAllBindGatewarysPagger
        ///// </summary>
        ///// <param name="revertRoomData"></param>
        //void GetAllBindGatewarysPagger (List<RegionInfoRes> revertRoomData) {
        //    var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
        //    gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
        //    //var gatewayListObj = new GatewayListObj ();
        //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
        //    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
        //    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
        //        UserConfig.Instance.GatewayList.Clear ();
        //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
        //        //var responseGatewayDataObj = mGateRes.PageData;
        //        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
        //        UserConfig.Instance.SaveUserConfig ();
        //        MainPage.LoginUser.LastTime = DateTime.Now;
        //        if (UserConfig.Instance.GatewayList.Count == 0) {
        //            Application.RunOnMainThread (() => {
        //                UserMiddle.Init ();
        //                Close ();
        //            });
        //            return;
        //        } else {
        //            UserConfig.Instance.HomeLists = revertRoomData;
        //            MainPage.LoginUser.SaveUserInfo ();
        //            UserConfig.Instance.SaveUserConfig ();
        //            Scene.Refresh ();
        //            A31MusicModel.Refresh ();
        //            Application.RunOnMainThread (() => {
        //                Close ();
        //                UserMiddle.Init ();
        //                EquipmentPublicClass.CheckLinkRemote (2);
        //            });
        //        }
        //    } else {
        //        //GetAllBindGatewarysPagger 失败提示
        //        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
        //    }
        //}
    }
}