| | |
| | | }) { IsBackground = true }.Start (); |
| | | }); |
| | | // 读取住宅列表 |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (new HomeListObj ()); |
| | | var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2); |
| | | if (revertObj2.StateCode == "SUCCESS") { |
| | | var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ()); |
| | | 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() == "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 (UserConfig.Instance.HomeLists.Count > 0) { |
| | | if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].RegionName)) { |
| | | if (responseDataObj != null && responseDataObj.Count > 0) { |
| | | if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].Name)) { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | this.RemoveFromParent (); |
| | |
| | | }); |
| | | } |
| | | UserConfig.Instance.SaveUserConfig (); |
| | | UserConfig.Instance.CurrentRegion = responseDataObj.Find ((obj) => obj.RegionName == UserConfig.Instance.CurrentRegion.RegionName); |
| | | UserConfig.Instance.CurrentRegion = responseDataObj.Find ((obj) => obj.Name == UserConfig.Instance.CurrentRegion.Name); |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | return; |
| | | } |
| | | } else { |
| | | ShowGetHomePagerErrorInfo (revertObj2.StateCode); |
| | | |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | this.RemoveFromParent (); |
| | |
| | | needHide = false; |
| | | } |
| | | }) { 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 (); |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | void ShowHomeListView (bool showDialog = true) |
| | |
| | | }; |
| | | topView.AddChidren (ItemButton); |
| | | ItemButton.MouseUpEventHandler += (sender1, e1) => { |
| | | GuideAddHomeDialog (new RegionInfoRes () { RegionID = "", RegionName = "" }, false); |
| | | GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false); |
| | | }; |
| | | if (showDialog) { |
| | | var back = new Button () { |
| | |
| | | Gravity = Gravity.CenterVertical, |
| | | UnSelectedImagePath = "Item/Point.png", |
| | | SelectedImagePath = "Item/Point.png", |
| | | Visible = home.RegionID != UserConfig.Instance.CurrentRegion.RegionID |
| | | Visible = home.Id != UserConfig.Instance.CurrentRegion.Id |
| | | }; |
| | | rowView.AddChidren (btnPoint); |
| | | |
| | | var btnName = new Button () { |
| | | Width = Application.GetRealWidth (390), |
| | | Text = home.RegionName, |
| | | Text = home.Name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | X = Application.GetRealWidth (90), |
| | | TextColor = SkinStyle.Current.TextColor1, |
| | |
| | | }; |
| | | rowView.AddChidren (rightButton1); |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => { |
| | | if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { |
| | | if (home.Id == UserConfig.Instance.CurrentRegion.Id) { |
| | | //UserConfig.Instance.GatewayMAC = gatewayMAC; |
| | | var addGatewayDialog = new GuideAddGateway (); |
| | | (Parent as PageLayout).AddChidren (addGatewayDialog); |
| | |
| | | rightButton1.MouseUpEventHandler += eHandler; |
| | | goNextButton.MouseUpEventHandler += eHandler; |
| | | btnName.MouseUpEventHandler += (sender,e)=> { |
| | | if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { |
| | | if (home.Id == UserConfig.Instance.CurrentRegion.Id) { |
| | | GuideAddHomeDialog (home, false,true, btnName); |
| | | } else { |
| | | ChangeRegion (home); |
| | | } |
| | | }; |
| | | |
| | | if (home.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { |
| | | if (home.Id == UserConfig.Instance.CurrentRegion.Id) { |
| | | Button btnCheck = new Button () { |
| | | X = Application.GetRealWidth (20), |
| | | Y = Application.GetRealHeight (25), |
| | |
| | | }; |
| | | rowView.AddChidren (btnCheck); |
| | | } |
| | | if (UserConfig.Instance.CurrentRegion.RegionID != home.RegionID && MainPage.LoginUser.AccountType != 1) { |
| | | if (UserConfig.Instance.CurrentRegion.Id != home.Id && MainPage.LoginUser.AccountType != 1) { |
| | | Button btnDel = new Button () { |
| | | TextID = R.MyInternationalizationString.Del, |
| | | BackgroundColor = SkinStyle.Current.DelColor, |
| | |
| | | }); |
| | | var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("Login", requestJson, false, false); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | var requestObj2 = new DeleteHomeObj () { Id = home.RegionID }; |
| | | var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false); |
| | | if (revertObj.StateCode.ToUpper() == "SUCCESS") { |
| | | |
| | | var requestObj2 = new DelHomeObj () { HomeId = home.Id }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps ("DeleteHome", requestJson2); |
| | | if (revertObj2.StateCode == "SUCCESS") { |
| | | var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2); |
| | | if (revertObj2.StateCode.ToUpper () == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | ShowHomeList (); |
| | | }); |
| | | } else { |
| | | ShowDelHomeErrorInfo (revertObj2.StateCode); |
| | | } |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | |
| | | |
| | | } |
| | | |
| | | void ShowDelHomeErrorInfo (string stateCodeStr) |
| | | { |
| | | string mes = ""; |
| | | if (stateCodeStr == "NoLogin") { |
| | | mes = ErrorCode.NoLogin; |
| | | } else if (stateCodeStr == "CurrentHomeExixtsGatewayBind") { |
| | | mes = ErrorCode.HomeIdAndTokenNoConsistent; |
| | | } else if (stateCodeStr == ErrorCode.NetworkError) { |
| | | mes = ErrorCode.NetworkError; |
| | | } else { |
| | | //RequestServerFailed |
| | | //mes = ErrorCode.AddFailed; |
| | | mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty (mes)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更换本地区域 |
| | | /// </summary> |
| | |
| | | //if (home.RegionID != UserConfig.Instance.CurrentRegion.RegionID) { |
| | | var backuplist = IO.FileUtils.ReadFiles (); |
| | | int index = 0; |
| | | if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.RegionName)) { |
| | | if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Name)) { |
| | | UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0]; |
| | | } |
| | | string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.RegionName); |
| | | string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Name); |
| | | IO.FileUtils.DeleteRegionFiles (oldRegionRootPath); |
| | | foreach (var fileName in backuplist) { |
| | | System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName); |
| | |
| | | }); |
| | | } |
| | | IO.FileUtils.DeleteAllFile (); |
| | | string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.RegionName); |
| | | string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.Name); |
| | | IO.FileUtils.RestoreRegionFiles (newRegionRootPath); |
| | | UserConfig.Instance.CurrentRegion = home; |
| | | UserConfig.Instance.SaveUserConfig (); |
| | |
| | | Radius = 5, |
| | | BorderColor = SkinStyle.Current.BorderColor, |
| | | BorderWidth = 2, |
| | | Text = home.RegionName, |
| | | Text = home.Name, |
| | | }; |
| | | bodyView.AddChidren (etZoneName); |
| | | |
| | |
| | | return; |
| | | } |
| | | if (isChangeName) { |
| | | home.RegionName = button.Text = etZoneName.Text; |
| | | var requestObj2 = new EditHomeObj () { Id = home.RegionID, Name = home.RegionName }; |
| | | home.Name = button.Text = etZoneName.Text; |
| | | var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps ("EditHome", requestJson2); |
| | | IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.RegionName, home.RegionName); |
| | | var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); |
| | | IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); |
| | | return; |
| | | } |
| | | ChangeRegion (home, false); |
| | |
| | | /// <param name="residenceName">Et zone name string.</param> |
| | | bool EditResidence (RegionInfoRes home,string residenceName) |
| | | { |
| | | if (home.RegionName != residenceName) { |
| | | home.RegionName = residenceName; |
| | | if (string.IsNullOrEmpty(home.RegionID)) { |
| | | var requestObj21 = new AddHomeObj () { Name = residenceName }; |
| | | if (home.Name != residenceName) { |
| | | 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 ("AddHome", requestJson21); |
| | | if ( revertObj21.StateCode != "SUCCESS") { |
| | | var revertObj21 = MainPage.RequestHttps (API.AddHome, requestJson21); |
| | | if ( revertObj21.StateCode.ToUpper() != "SUCCESS") { |
| | | ShowAddHomeErrorInfo (revertObj21.StateCode); |
| | | return false; |
| | | } |
| | | } else { |
| | | var requestObj2 = new EditHomeObj () { Id = home.RegionID, Name = home.RegionName }; |
| | | var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps ("EditHome", requestJson2); |
| | | IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.RegionName, home.RegionName); |
| | | if (revertObj2.StateCode != "SUCCESS") { |
| | | var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2); |
| | | IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name); |
| | | if (revertObj2.StateCode.ToUpper() != "SUCCESS") { |
| | | ShowEditHomeErrorInfo (revertObj2.StateCode); |
| | | return false; |
| | | } |
| | | } |
| | |
| | | room.Save (newRoomFilePath); |
| | | Room.Lists.Add (room); |
| | | } |
| | | if (home.RegionName != residenceName) { |
| | | if (home.Name != residenceName) { |
| | | ShowHomeList (); |
| | | } |
| | | return true; |
| | | |
| | | } |
| | | |
| | | |
| | | void ShowAddHomeErrorInfo (string stateCodeStr) { |
| | | string mes = ""; |
| | | if (stateCodeStr == "NoLogin") { |
| | | mes = ErrorCode.NoLogin; |
| | | } else if (stateCodeStr == "Exist") { |
| | | mes = ErrorCode.NameExist; |
| | | } else if (stateCodeStr == ErrorCode.NetworkError) { |
| | | mes = ErrorCode.NetworkError; |
| | | } else { |
| | | //RequestServerFailed |
| | | //mes = ErrorCode.AddFailed; |
| | | mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty (mes)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 响应状态码: |
| | | //(1)Success 则 [调用此接口操作成功], ResponseData则为null |
| | | //(2)ParameterOrEmpty,则响应字段中 [ErrorInfo] 为错误信息, ResponseData则为null |
| | | //(3)NoLogin,则响应字段中 [ErrorInfo] 为错误信息为 [无效登录Token!] |
| | | //(5)NoRecord,,则响应字段中 [ErrorInfo] 为错误信息为 [未到相关记录, 请确认您提交参数是否正确] |
| | | //(6)Exist,则响应字段中 [ErrorInfo] 为错误信息为 [当前提交的的住宅:XXXX,名称已存在!] |
| | | //(7)NoPermission,则响应字段中 [ErrorInfo] 为错误信息为 [您并不具有此分享者此住宅的权限!] |
| | | //(8)InsufficientAuthority,则响应字段中 [ErrorInfo] 为错误信息为 [您并不具有此分享者此住宅的完全控制权限!] |
| | | //(9)HomeIdAndTokenNoConsistent,则响应字段中 [ErrorInfo] 为错误信息为 [您当前Token与你当前控制的HomeId不一致!] |
| | | //(10)NoPermission,则响应字段中 [ErrorInfo] 为错误信息为 [XXX] |
| | | /// </summary> |
| | | /// <param name="stateCodeStr"></param> |
| | | void ShowEditHomeErrorInfo (string stateCodeStr) |
| | | { |
| | | string mes = ""; |
| | | if (stateCodeStr == "NoLogin") { |
| | | mes = ErrorCode.NoLogin; |
| | | } else if (stateCodeStr == "Exist") { |
| | | mes = ErrorCode.NameExist; |
| | | } else if (stateCodeStr == "HomeIdAndTokenNoConsistent") { |
| | | mes = ErrorCode.HomeIdAndTokenNoConsistent; |
| | | } else if (stateCodeStr == ErrorCode.NetworkError) { |
| | | mes = ErrorCode.NetworkError; |
| | | } else { |
| | | //RequestServerFailed |
| | | //mes = ErrorCode.AddFailed; |
| | | mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty (mes)) { |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |