| | |
| | | //byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.RegionID); |
| | | byte [] currentRegionIdBytes = CommonPage.MyEncodingGB2312.GetBytes (UserConfig.Instance.CurrentRegion.Id.ToString ()); |
| | | byte [] sendBytes = new byte [36]; |
| | | Array.Copy (currentRegionIdBytes, 0, sendBytes, 2, 36 < currentRegionIdBytes.Length ? 36 : currentRegionIdBytes.Length); |
| | | 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); |
| | |
| | | var gatewayMAC = gatewayDeicve.MAC.Replace (".", ""); |
| | | 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) {//和绑定mac一致,不用修改 |
| | | 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); |
| | | var respone = MainPage.RequestHttps (API.UpdateMac, requestJson, urlHead); |
| | | if (respone.StateCode.ToUpper () != "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", "Communication abnormality,gateway failed to bind residence!", 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 (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | } |
| | | }); |
| | | return; |
| | | } |
| | | GetAllBindGatewarysPagger (); |
| | | //GetNowHomeGateway (); |
| | | AddMacToUserConfig (gatewayMAC); |
| | | } else { |
| | | //走新绑定接口 |
| | | var mBindMacObj = new BindGatewayToHomeObj () { |
| | |
| | | |
| | | }; |
| | | 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); |
| | | var respone = MainPage.RequestHttps (API.BindGatewayToHome, requestJson, urlHead); |
| | | if (respone.StateCode.ToUpper () != "SUCCESS" && respone.StateCode != "BindGatewaysExists") { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", "Communication abnormality,gateway failed to bind residence!", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | 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; |
| | | } |
| | | GetAllBindGatewarysPagger (); |
| | | |
| | | //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; |
| | | //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); |
| | | }); |
| | | } 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 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> |
| | | /// |