From 365eadb33ee86b05ac74d408025d102a758c2efd Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 一月 2020 15:27:17 +0800
Subject: [PATCH] 2020-01-10 2020-01-10 1.修改切换本地和远程问题。 2.修改判断住宅网关方案。 3.其它优化修改。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs |  344 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 245 insertions(+), 99 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
index 74791eb..ff4698b 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
@@ -15,6 +15,7 @@
         static Loading myLoading;
         bool isReBind = false;
         static List<Common> addedCommon;
+        static bool needRefresh;
         public GuideSettingGateway (GatewayBase gd)
         {
             gatewayDeicve = gd as GatewayBase;
@@ -34,6 +35,10 @@
                     myLoading.Hide ();
                     btnCloseLoading.RemoveFromParent ();
                     WirelessConfig (new byte [] { 1 });//close
+                    if (needRefresh) {
+                        needRefresh = false;
+                        SearchDeviceList ();
+                    }
                 });
             };
 
@@ -127,7 +132,7 @@
             bottomView.AddChidren (btnAssignRoom);
             btnAssignRoom.MouseUpEventHandler += (sender, e) => {
                 //bodyView.RemoveAll ();
-               
+
                 btnAssignRoomAction ();
             };
             SearchDeviceList ();
@@ -139,7 +144,7 @@
         void btnAssignRoomAction ()
         {
             if (gatewayDeicve.Type == DeviceType.OnePortMqttFR) {
-              
+
                 Console.WriteLine ("Assign OnePortMqttFR锛孒DL MQTT");
                 //RemoteSetting ();
                 RemoteSettingWithHDLMQTT ();
@@ -151,7 +156,7 @@
         }
 
 
-      
+
 
         /// <summary>
         /// 寮�鍏虫棤绾块厤缃�
@@ -478,23 +483,24 @@
                     //}
 
                     if (config) {
-                        System.Threading.Tasks.Task.Factory.StartNew (() => {
-                            try {
-                                byte bigClass = common.BigClass;
-                                byte minClass = common.MinClass;
-                                int count = common.LoopCount;
-                                for (int k = 1, j = 0; k <= count; k++) {
-                                    if (Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, common.SubnetID, common.DeviceID, new byte [] { bigClass, minClass, (byte)k }) == null) {
-                                        j++;
-                                        //杩炵画涓ゆ璇诲彇涓嶅埌鏁版嵁鍒欒烦鍑鸿寰幆
-                                        if (j == 2 && k == 2)
-                                            break;
-                                    }
-                                }
-                            } catch (Exception ex) {
-                                Console.WriteLine ("Cinfig Read Device Loop Info " + ex.Message);
-                            }
-                        });
+                        needRefresh = true;
+                        //System.Threading.Tasks.Task.Factory.StartNew (() => {
+                        //    try {
+                        //        byte bigClass = common.BigClass;
+                        //        byte minClass = common.MinClass;
+                        //        int count = common.LoopCount;
+                        //        for (int k = 1, j = 0; k <= count; k++) {
+                        //            if (Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, common.SubnetID, common.DeviceID, new byte [] { bigClass, minClass, (byte)k }) == null) {
+                        //                j++;
+                        //                //杩炵画涓ゆ璇诲彇涓嶅埌鏁版嵁鍒欒烦鍑鸿寰幆
+                        //                if (j == 2 && k == 2)
+                        //                    break;
+                        //            }
+                        //        }
+                        //    } catch (Exception ex) {
+                        //        Console.WriteLine ("Cinfig Read Device Loop Info " + ex.Message);
+                        //    }
+                        //});
                     }
 
                     #endregion
@@ -604,7 +610,7 @@
 
                     //var currentRegionIdBytes = Utlis.IntToByteArray (UserConfig.Instance.CurrentRegion.RegionID);
 
-                    byte [] RegionIDBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID.ToString());
+                    byte [] RegionIDBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.Id.ToString ());
                     var currentRegionIdBytes = new byte [4];
                     Array.Copy (RegionIDBytes, 0, currentRegionIdBytes, 0, 4 < RegionIDBytes.Length ? 4 : RegionIDBytes.Length);
 
@@ -614,7 +620,7 @@
                     gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName;
                     gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName;
                     gatewayDeicve.Remote_UserName = "Admin";
-                    gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.MasterID;
+                    gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID;
                     byte [] ggn = new byte [20];
                     byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName);
                     gatewayDeicve.Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1);
@@ -689,45 +695,7 @@
                                 return;
                             }
                         }
-                        Application.RunOnMainThread (() => {
-                            MainPage.Loading.Start ("Gateway setting succeeded锛宒ata up.Please wait...");
-                        });
-                        IO.FileUtils.SaveEquipmentMessage (gatewayDeicve);
-                        var gatewayMAC = gatewayDeicve.MAC.Replace (".", "");
-                        var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.RegionID, MAC = gatewayMAC, IsReBind = true });
-                        var respone = MainPage.RequestHttps ("EditMACByHomeId", requestJson);
-                        if (respone.StateCode != "SUCCESS") {
-                            Application.RunOnMainThread (() => {
-                                new Alert ("", "Communication abnormality,gateway failed to bind residence!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                                if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
-                                    new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                                }
-                            });
-                            return;
-                        }
-                        var gatewayListObj = new GatewayListObj ();
-                        var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
-                        var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson);
-                        if (gatewayListRevertObj.StateCode == "SUCCESS") {
-                            var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ());
-                            if (responseGatewayDataObj.Count > 0) {
-                                UserConfig.Instance.GatewayList.Clear ();
-                                UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
-                                UserConfig.Instance.GatewayMAC = gatewayDeicve.MAC;
-                                UserConfig.Instance.SaveUserConfig ();
-                                MainPage.LoginUser.LastTime = DateTime.Now;
-                                Application.RunOnMainThread (() => {
-                                    UserMiddle.Init (true);
-                                });
-                            } else {
-                                Application.RunOnMainThread (() => {
-                                    new Alert ("", "Communication abnormality,gateway failed to bind residence.Please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                                    if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
-                                        new Alert ("22:" + respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                                    }
-                                });
-                            }
-                        }
+                        BindGateways ();
                     }
                 } catch (Exception ex) {
                     Console.WriteLine (ex.Message);
@@ -744,6 +712,8 @@
             });
             //Room.InitAllRoom ();
         }
+
+
 
         /// <summary>
         /// 杩滅▼閰嶇疆 HDL MQTT妯″紡
@@ -763,7 +733,7 @@
                     gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName;
                     gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName;
                     gatewayDeicve.Remote_UserName = "Admin";
-                    gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.MasterID;
+                    gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID;
                     //gatewayDeicve.Remote_Password = "85521566";
                     byte [] ggn = new byte [20];
                     byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName);
@@ -803,7 +773,7 @@
                         //3.鍐欓厤缃垚鍔熷悗涓嬩竴姝ユ搷浣�
                         GatewaySettingSucceeded ();
                     }
-                    
+
 
 
 
@@ -828,15 +798,15 @@
         /// </summary>
         /// <param name="adminBytes"></param>
         /// <returns></returns>
-        bool SetGateWayAdminInfo (byte[] adminBytes) {
+        bool SetGateWayAdminInfo (byte [] adminBytes) {
             byte [] name = CommonPage.MyEncodingGB2312.GetBytes (MainPage.LoginUser.AccountString);
             byte [] backBytes;
             if (adminBytes != null && adminBytes.Length >= 73) {//杩斿洖鏁版嵁姝e父,鍙慨鏀硅处鍙蜂俊鎭�
                 Array.Copy (name, 0, adminBytes, 0, 36 < name.Length ? 36 : name.Length);
                 backBytes = Control.ControlBytesSendHasReturn (Command.SetGateWayAdminInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, adminBytes);
-             
+
             } else {
-                byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID.ToString());
+                byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.Id.ToString ());
                 //byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID);
                 //var currentRegionIdBytes = Utlis.IntToByteArray (UserConfig.Instance.CurrentRegion.RegionID);
                 adminBytes = new byte [73];
@@ -844,7 +814,7 @@
                 Array.Copy (name, 0, adminBytes, 0, 36 < name.Length ? 36 : name.Length);
                 Array.Copy (currentRegionIdBytes, 0, adminBytes, 37, 36 < currentRegionIdBytes.Length ? 36 : currentRegionIdBytes.Length);
                 backBytes = Control.ControlBytesSendHasReturn (Command.SetGateWayAdminInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, adminBytes);
-                
+
             }
             return CheckIsSuccessfulWithBytes (backBytes);
         }
@@ -858,7 +828,7 @@
         {
             byte [] name = CommonPage.MyEncodingGB2312.GetBytes (MainPage.LoginUser.AccountString);
             //byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID);
-            byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID.ToString());
+            byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.Id.ToString ());
             //var currentRegionIdBytes = Utlis.IntToByteArray (UserConfig.Instance.CurrentRegion.RegionID);
             byte [] adminBytes = new byte [73];
             adminBytes [36] = 1;//浣忓畢鏍囧織浣�
@@ -1037,9 +1007,9 @@
             if (gatewayDeicve.Type == DeviceType.OnePortMqttFR) {
                 //var currentRegionIdBytes = Utlis.IntToByteArray (UserConfig.Instance.CurrentRegion.RegionID);
                 //byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID);
-                byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID.ToString());
-                byte [] sendBytes = new byte [32];
-                Array.Copy (currentRegionIdBytes, 0, sendBytes, 2, 32 < currentRegionIdBytes.Length ? 32 : currentRegionIdBytes.Length);
+                byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.Id.ToString ());
+                byte [] sendBytes = new byte [36];
+                Array.Copy (currentRegionIdBytes, 0, sendBytes, 0, 36 < currentRegionIdBytes.Length ? 36 : currentRegionIdBytes.Length);
 
                 //var currentRegionIdBytes = Utlis.IntToByteArray (UserConfig.Instance.CurrentRegion.RegionID);
                 var bindReginIdStatus = Control.ControlBytesSendHasReturn (Command.Write_APP_Data_STORE_1D5E_CMD, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, sendBytes);
@@ -1057,46 +1027,222 @@
                 }
             }
 
+            BindGateways ();
+
+
+        }
+
+        /// <summary>
+        /// Gateway setting succeeded锛宒ata up.Please wait...
+        /// </summary>
+        void BindGateways (){
 
             Application.RunOnMainThread (() => {
                 MainPage.Loading.Start ("Gateway setting succeeded锛宒ata up.Please wait...");
             });
             IO.FileUtils.SaveEquipmentMessage (gatewayDeicve);
             var gatewayMAC = gatewayDeicve.MAC.Replace (".", "");
-            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.RegionID, MAC = gatewayMAC, IsReBind = true });
-            var respone = MainPage.RequestHttps ("EditMACByHomeId", requestJson);
-            if (respone.StateCode != "SUCCESS") {
-                Application.RunOnMainThread (() => {
-                    new Alert ("", "Communication abnormality,gateway failed to bind residence!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                    if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
-                        new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
-                    }
-                });
-                return;
-            }
-            var gatewayListObj = new GatewayListObj ();
-            var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
-            var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson);
-            if (gatewayListRevertObj.StateCode == "SUCCESS") {
-                var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ());
-                if (responseGatewayDataObj.Count > 0) {
-                    UserConfig.Instance.GatewayList.Clear ();
-                    UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
-                    UserConfig.Instance.GatewayMAC = gatewayDeicve.MAC;
-                    UserConfig.Instance.SaveUserConfig ();
-                    MainPage.LoginUser.LastTime = DateTime.Now;
+            var oldMac = "";
+            if (UserConfig.Instance.CheckHomeGateways () && !string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.HomeGateways [0].GatewayUniqueId)) {
+
+
+                //淇敼MAC鎺ュ彛
+                oldMac = UserConfig.Instance.CurrentRegion.HomeGateways [0].GatewayUniqueId;
+                if(oldMac == gatewayMAC) {//鍜岀粦瀹歮ac涓�鑷达紝涓嶇敤淇敼
+                    AddMacToUserConfig (gatewayMAC);
+                    return;
+                }
+
+                var mUpdateMacObj = new UpdateMacObj () {
+                    LoginAccessToken = MainPage.LoginUser.LoginTokenString,
+                    HomeId = UserConfig.Instance.CurrentRegion.Id,
+                    NewMac = gatewayMAC,
+                    OldMac = oldMac
+                };
+                string urlHead = MainPage.RequestHttpsHost;
+                if (mUpdateMacObj.IsOtherAccountCtrl) {
+                    urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                    mUpdateMacObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                }
+
+                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (mUpdateMacObj);
+
+                //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true });
+                var respone = MainPage.RequestHttps (API.UpdateMac, requestJson, urlHead);
+                if (respone.StateCode.ToUpper () != "SUCCESS") {
                     Application.RunOnMainThread (() => {
-                        UserMiddle.Init (true);
-                    });
-                } else {
-                    Application.RunOnMainThread (() => {
-                        new Alert ("", "Communication abnormality,gateway failed to bind residence.Please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                        new Alert ("", "Failed to update Mac address, gateway binding failed!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                         if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
-                            new Alert ("22:" + respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                            new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                         }
                     });
+                    return;
                 }
+                //GetNowHomeGateway ();
+                AddMacToUserConfig (gatewayMAC);
+            } else {
+                //璧版柊缁戝畾鎺ュ彛
+                var mBindMacObj = new BindGatewayToHomeObj () {
+                    LoginAccessToken = MainPage.LoginUser.LoginTokenString,
+                    HomeId = UserConfig.Instance.CurrentRegion.Id,
+
+                };
+                mBindMacObj.BindGateways.Add (gatewayMAC);
+                string urlHead = MainPage.RequestHttpsHost;
+                if (mBindMacObj.IsOtherAccountCtrl) {
+                    urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                    mBindMacObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                }
+
+
+                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (mBindMacObj);
+
+                //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true });
+                var respone = MainPage.RequestHttps (API.BindGatewayToHome, requestJson, urlHead);
+                if (respone.StateCode.ToUpper () != "SUCCESS" && respone.StateCode != "BindGatewaysExists") {
+                    Application.RunOnMainThread (() => {
+                        new Alert ("", "Failed to bind Mac address, gateway binding failed!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                        if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
+                            new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                        }
+                    });
+                    return;
+                }
+                //GetNowHomeGateway ();
+                AddMacToUserConfig (gatewayMAC);
             }
+
+        }
+
+        //void GetAllBindGatewarysPagger ()
+        //{
+        //    var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
+        //    gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+        //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
+        //    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
+        //    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
+        //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
+        //        var responseGatewayDataObj = mGateRes.PageData;
+        //        if (responseGatewayDataObj.Count > 0) {
+        //            UserConfig.Instance.GatewayList.Clear ();
+        //            UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
+        //            UserConfig.Instance.GatewayMAC = gatewayDeicve.MAC;
+        //            UserConfig.Instance.SaveUserConfig ();
+        //            MainPage.LoginUser.LastTime = DateTime.Now;
+        //            Application.RunOnMainThread (() => {
+        //                UserMiddle.Init (true);
+        //            });
+        //        } else {
+        //            Application.RunOnMainThread (() => {
+        //                new Alert ("", "Communication abnormality, gateway failed to bind residence.Please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //                if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
+        //                    new Alert ("22:" + gatewayListRevertObj.StateCode, gatewayListRevertObj.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //                }
+        //            });
+        //        }
+        //    } else {
+
+        //        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
+        //    }
+
+        //}
+
+        /// <summary>
+        /// 淇敼鍒囨崲鏈湴浣忓畢 缃戝叧
+        /// </summary>
+        void AddMacToUserConfig (string gatewayMAC)
+        {
+         
+            UserConfig.Instance.GatewayMAC = gatewayMAC;
+            UserConfig.Instance.SaveUserConfig ();
+            MainPage.LoginUser.LastTime = DateTime.Now;
+            Application.RunOnMainThread (() => {
+                bodyView.RemoveAll ();
+                UserMiddle.Init (true);
+            });
+
+        }
+
+        ///// <summary>
+        ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃
+        ///// </summary>
+        //void GetNowHomeGateway ()
+        //{
+
+        //    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 infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
+        //        var responseGatewayDataObj = infoResult.PageData;
+        //        if (responseGatewayDataObj != null && responseGatewayDataObj.Count > 0) {
+
+        //            UserConfig.Instance.GatewayList.Clear ();
+        //            UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
+        //            UserConfig.Instance.GatewayMAC = gatewayDeicve.MAC;
+        //            UserConfig.Instance.SaveUserConfig ();
+        //            MainPage.LoginUser.LastTime = DateTime.Now;
+        //            Application.RunOnMainThread (() => {
+        //                bodyView.RemoveAll ();
+        //                UserMiddle.Init (true);
+        //            });
+        //        } else {
+        //            Application.RunOnMainThread (() => {
+        //                new Alert ("", "Query gateway failed, gateway failed to bind residence.Please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //                if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
+        //                    new Alert ("22:" + revertObj3.StateCode, revertObj3.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //                }
+        //            });
+        //        }
+        //    } else {
+
+        //        Application.RunOnMainThread (() => {
+        //            new Alert ("", "Query gateway failed, gateway failed to bind residence.Please try again.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //            if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
+        //                new Alert ("22:" + revertObj3.StateCode, revertObj3.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //            }
+        //        });
+        //    }
+
+
+        //}
+
+
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowGetAllBindGatewarysPaggerErrorInfo (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 ();
+                });
+            }
+
+
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0