| | |
| | | X = Application.GetRealWidth (90), |
| | | Width = Application.GetRealWidth (640 - 180), |
| | | TextAlignment = TextAlignment.Center, |
| | | Text = UserConfig.Instance.CurrentRegion.RegionName + " " + Language.StringByID (R.MyInternationalizationString.Backup), |
| | | Text = UserConfig.Instance.CurrentRegion.Name + " " + Language.StringByID (R.MyInternationalizationString.Backup), |
| | | TextSize = 19, |
| | | TextColor = SkinStyle.Current.TextColor1, |
| | | }; |
| | |
| | | Gravity = Gravity.CenterVertical, |
| | | UnSelectedImagePath = "Item/Point.png", |
| | | SelectedImagePath = "Item/Point.png", |
| | | Visible = homeTemp.RegionID != UserConfig.Instance.CurrentRegion.RegionID |
| | | Visible = homeTemp.Id != UserConfig.Instance.CurrentRegion.Id |
| | | }; |
| | | rowView.AddChidren (btnPoint); |
| | | |
| | | var btnName = new Button () { |
| | | Width = Application.GetRealWidth (550), |
| | | Text = homeTemp.RegionName, |
| | | Text = homeTemp.Name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | X = Application.GetRealWidth (90), |
| | | TextColor = SkinStyle.Current.TextColor1, |
| | | }; |
| | | rowView.AddChidren (btnName); |
| | | |
| | | if (homeTemp.RegionID == UserConfig.Instance.CurrentRegion.RegionID) { |
| | | if (homeTemp.Id == UserConfig.Instance.CurrentRegion.Id) { |
| | | Button btnCheck = new Button () { |
| | | X = Application.GetRealWidth (20), |
| | | Y = Application.GetRealHeight (25), |
| | |
| | | try { |
| | | var backuplist = IO.FileUtils.ReadFiles (); |
| | | int index = 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 (homeTemp.RegionName); |
| | | string newRegionRootPath = IO.FileUtils.CreateRegionBackup (homeTemp.Name); |
| | | IO.FileUtils.RestoreRegionFiles (newRegionRootPath); |
| | | UserConfig.Instance.RefreshUserConfig (); |
| | | UserConfig.Instance.CurrentRegion = homeTemp; |
| | |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | }); |
| | | GetUserFolderObj requestObj = new GetUserFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.RegionID }; |
| | | var requestObj = new GetHomeDataBackupPaggerObj () { |
| | | HomeId = UserConfig.Instance.CurrentRegion.Id, |
| | | LoginAccessToken = MainPage.LoginUser.LoginTokenString |
| | | }; |
| | | //GetUserFolderObj requestObj = new GetUserFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.Id }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("GetUserFolder", requestJson,true,false); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FolderRes>> (revertObj.ResponseData.ToString ()); |
| | | var revertObj = MainPage.RequestHttps (API.GetHomeDataBackupPagger, requestJson); |
| | | if (revertObj.StateCode.ToUpper() == "SUCCESS") { |
| | | var data = Newtonsoft.Json.JsonConvert.DeserializeObject<GetBackupListResult> (revertObj.ResponseData.ToString ()); |
| | | //var list = new List<BackupListNameInfo> (); |
| | | //foreach (var data2 in data.PageData) { |
| | | // if (ZigbeeUniqueId != null && data2.GatewayUniqueId != ZigbeeUniqueId) { |
| | | // continue; |
| | | // } |
| | | // if (getLogBackup == false && data2.BackupName == LogBackupName) { |
| | | // //不获取Log备份 |
| | | // continue; |
| | | // } |
| | | // list.Add (data2); |
| | | //} |
| | | |
| | | |
| | | //var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FolderRes>> (revertObj.ResponseData.ToString ()); |
| | | if (data == null) return; |
| | | |
| | | Application.RunOnMainThread (() => { |
| | | foreach(var folder in responseDataObj) |
| | | foreach(var folder in data.PageData) |
| | | { |
| | | addRow (folder.FolderName,folder.FolderID); |
| | | addRow (folder.BackupName, folder.Id); |
| | | } |
| | | }); |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | void addRow (string groupName,int folderID) |
| | | void addRow (string groupName, string folderID) |
| | | { |
| | | var rowView = new RowLayout () { |
| | | Height = Application.GetRealHeight (110), |
| | |
| | | Alert alert = new Alert ("", Language.StringByID (R.MyInternationalizationString.AreYouSureToDeleteFile), Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim)); |
| | | alert.ResultEventHandler += ( sender2, e2) => { |
| | | if (e2) { |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | DeleteFolderDataObj requestObj = new DeleteFolderDataObj () { Id = folderID }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("DeleteFolderData", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | DatabackupShow (); |
| | | }); |
| | | } |
| | | } catch { } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | }); |
| | | } |
| | | }); |
| | | DeleteFolderData (folderID); |
| | | } |
| | | }; |
| | | alert.Show (); |
| | |
| | | Alert alert = new Alert ("", Language.StringByID (R.MyInternationalizationString.AreYouSureToDeleteFile), Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim)); |
| | | alert.ResultEventHandler += ( sender2, e2) => { |
| | | if (e2) { |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | DeleteFolderDataObj requestObj = new DeleteFolderDataObj () { Id = folderID }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("DeleteFolderData", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | DatabackupShow (); |
| | | }); |
| | | } |
| | | } catch { } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | }); |
| | | } |
| | | }); |
| | | DeleteFolderData (folderID); |
| | | } |
| | | }; |
| | | alert.Show (); |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除某个备份 |
| | | /// </summary> |
| | | /// <param name="folderID"></param> |
| | | void DeleteFolderData (string folderID) |
| | | { |
| | | MainPage.Loading.Start ("Please wait..."); |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | var requestObj = new DelHomeAppGatewayNameObj () { |
| | | BackupClassId = folderID, |
| | | HomeId = UserConfig.Instance.CurrentRegion.Id, |
| | | LoginAccessToken = MainPage.LoginUser.LoginTokenString |
| | | }; |
| | | //DeleteFolderDataObj requestObj = new DeleteFolderDataObj () { Id = folderID }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps (API.DelHomeAppGatewayName, requestJson); |
| | | if (revertObj.StateCode.ToUpper () == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | DatabackupShow (); |
| | | }); |
| | | } else { |
| | | ShowDelErrorInfo (revertObj.StateCode); |
| | | } |
| | | } catch { } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// (2)ParameterOrEmpty,则响应字段中[ErrorInfo]为错误信息,ResponseData则为null |
| | | //3)NoLogin,则响应字段中 [ErrorInfo] 为错误信息为 [无效登录Token!] |
| | | //(5)NoRecord,则响应字段中 [ErrorInfo] 为错误信息为 [确保您所提交 [项目 (住宅)Id不存在!] |
| | | //(6)BackupClassIdNoIsYou, 则响应字段中 [ErrorInfo]为错误信息为 [您所备注名主键 = XXXX并不属于您当前住宅:XXXX] |
| | | //(7)NoPermission, 则响应字段中 [ErrorInfo]为错误信息为 [您并不具有此分享者此住宅的权限!] |
| | | //(8)InsufficientAuthority, 则响应字段中 [ErrorInfo]为错误信息为 [您并不具有此分享者此住宅的完全控制权限!] |
| | | //(9)HomeIdAndTokenNoConsistent, 则响应字段中 [ErrorInfo]为错误信息为 [您当前Token与你当前控制的HomeId不一致!] |
| | | //(10)DeliveryBackNoUpdateDel, 则响应字段中 [ErrorInfo]为错误信息为 [此前提交文件夹Id是属于交付备份, 不能进行更新删除!] |
| | | /// </summary> |
| | | /// <param name="stateCodeStr"></param> |
| | | void ShowDelErrorInfo (string stateCodeStr) |
| | | { |
| | | string mes = ""; |
| | | if (stateCodeStr == "HomeIdAndTokenNoConsistent") { |
| | | //Token 验证失败 |
| | | mes = ErrorCode.HomeIdAndTokenNoConsistent; |
| | | } else if (stateCodeStr == "DeliveryBackNoUpdateDel") { |
| | | //交付备份, 不能删除! |
| | | mes = ErrorCode.DeliveryBackNoUpdateDel; |
| | | } else 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 (); |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 用户备份文件 |
| | | /// </summary> |
| | | void userBakeupFile (string groupName) |
| | |
| | | //Alert alert = new Alert ("", Language.StringByID (R.MyInternationalizationString.SureToBackupYourthisFile), Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim)); |
| | | |
| | | //alert.ResultEventHandler += (object sender2, bool e2) => { |
| | | //if (e2) { |
| | | MainPage.Loading.Start ("Upload..."); |
| | | //if (e2) { |
| | | MainPage.Loading.Start ("Upload..."); |
| | | |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | AddFolderObj requestObj = new AddFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.RegionID ,Name = groupName }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps ("AddFolder", requestJson); |
| | | if (revertObj.StateCode == "SUCCESS") { |
| | | var addFolderID = Convert.ToInt32 (revertObj.ResponseData); |
| | | var backuplist = IO.FileUtils.ReadFiles (); |
| | | int index = 0; |
| | | foreach (var fileName in backuplist) { |
| | | index++; |
| | | /// <summary> |
| | | /// 如果是特殊的注册登陆文件,则不需要备份到服务器 |
| | | /// </summary> |
| | | if (fileName == UserInfo.GlobalRegisterFile) { |
| | | continue; |
| | | } |
| | | AddUserBackupObj requestObj2 = new AddUserBackupObj () { LevelID = Convert.ToInt32(revertObj.ResponseData), Name = fileName, DetailByte = IO.FileUtils.ReadFile (fileName) }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps ("AddUserBackup", requestJson2); |
| | | if (revertObj2.StateCode == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | int pro = (int)(index * 1.0 / backuplist.Count * 100); |
| | | MainPage.Loading.Text = pro.ToString () + "%"; |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | |
| | | } catch (Exception ex) { |
| | | Shared.Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet), |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | Console.WriteLine (ex.Message); |
| | | }); |
| | | } finally { |
| | | Shared.Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | DatabackupShow (); |
| | | }); |
| | | } |
| | | //if (string.IsNullOrEmpty (UserConfig.Instance.GatewayMAC)) return; |
| | | if (!UserConfig.Instance.CheckHomeGateways () || string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.HomeGateways [0].GatewayUniqueId)) return; |
| | | |
| | | var requestObj = new AddHomeAppGatewayNameObj () { |
| | | HomeId = UserConfig.Instance.CurrentRegion.Id, |
| | | BackupName = groupName, |
| | | LoginAccessToken = MainPage.LoginUser.LoginTokenString, |
| | | GatewayUniqueId = UserConfig.Instance.GatewayMAC |
| | | }; |
| | | |
| | | //AddFolderObj requestObj = new AddFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.Id ,Name = groupName }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | | var revertObj = MainPage.RequestHttps (API.AddHomeAppGatewayName, requestJson); |
| | | if (revertObj.StateCode.ToUpper () == "SUCCESS") { |
| | | var DATA = Newtonsoft.Json.JsonConvert.DeserializeObject<AddBackupNameResult> (revertObj.ResponseData.ToString()); |
| | | var addFolderID = DATA.BackupClassId; |
| | | UpLoadBackupFileToDB (addFolderID); |
| | | |
| | | |
| | | } else { |
| | | ShowAddHomeAppGatewayNameErrorInfo (revertObj.StateCode); |
| | | |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | Shared.Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet), |
| | | Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | Console.WriteLine (ex.Message); |
| | | }); |
| | | } finally { |
| | | Shared.Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | | DatabackupShow (); |
| | | }); |
| | | } |
| | | }); |
| | | // } |
| | | //}; |
| | | //alert.Show (); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// (1)Success 则[调用此接口操作成功],ResponseData则为null |
| | | // (2)ParameterOrEmpty,则响应字段中 [ErrorInfo] 为错误信息, ResponseData则为null |
| | | // (3)NoLogin,则响应字段中 [ErrorInfo] 为错误信息为 [无效登录Token!] |
| | | |
| | | //(4)NoRecord,则响应字段中 [ErrorInfo] 为错误信息为 [确保您所提交 [项目 (住宅)Id不存在!] |
| | | //(5)Exist, 则响应字段中 [ErrorInfo]为错误信息为 [您在住宅: XXX, 当前备份名: XXXX已存在, 请换个备份再提交!] |
| | | |
| | | //(6)NoBind, 则响应字段中 [ErrorInfo]为错误信息为 [网关的唯一Id = XXX,与住宅: XXXX并不存在绑定关系!] |
| | | //(7)NoPermission, 则响应字段中 [ErrorInfo]为错误信息为 [您并不具有此分享者此住宅的权限!] |
| | | |
| | | //(8)InsufficientAuthority, 则响应字段中 [ErrorInfo]为错误信息为 [您并不具有此分享者此住宅的完全控制权限!] |
| | | //(9)HomeIdAndTokenNoConsistent, 则响应字段中 [ErrorInfo]为错误信息为 [您当前Token与你当前控制的HomeId不一致!] |
| | | /// </summary> |
| | | /// <param name="stateCodeStr"></param> |
| | | void ShowAddHomeAppGatewayNameErrorInfo (string stateCodeStr) |
| | | { |
| | | string mes = ""; |
| | | if (stateCodeStr == "Exist") { |
| | | //备份名已存在 |
| | | mes = ErrorCode.NameExist; |
| | | } else if (stateCodeStr == "HomeIdAndTokenNoConsistent") { |
| | | //Token 验证失败 |
| | | mes = ErrorCode.HomeIdAndTokenNoConsistent; |
| | | } else 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 (); |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上传备份文件 |
| | | /// </summary> |
| | | /// <param name="mBackupClassId"></param> |
| | | void UpLoadBackupFileToDB (string mBackupClassId) |
| | | { |
| | | |
| | | var backuplist = IO.FileUtils.ReadFiles (); |
| | | int index = 0; |
| | | foreach (var fileName in backuplist) { |
| | | index++; |
| | | /// <summary> |
| | | /// 如果是特殊的注册登陆文件,则不需要备份到服务器 |
| | | /// </summary> |
| | | if (fileName == UserInfo.GlobalRegisterFile) { |
| | | continue; |
| | | } |
| | | //整理数据 |
| | | var datainfo = new FileInfoData (); |
| | | datainfo.BackupFileName = fileName; |
| | | datainfo.BackupFileContent = Shared.IO.FileUtils.ReadFile (fileName); |
| | | |
| | | var list = new List<FileInfoData> (); |
| | | list.Add (datainfo); |
| | | |
| | | var upData = new UploadHomeAppGatewaySubFilesObj (); |
| | | upData.HomeId = UserConfig.Instance.CurrentRegion.Id; |
| | | upData.BackupClassId = mBackupClassId; |
| | | upData.UploadSubFileLists = list; |
| | | //获取控制主人账号的Token |
| | | upData.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | |
| | | //AddUserBackupObj requestObj2 = new AddUserBackupObj () { LevelID = Convert.ToInt32 (revertObj.ResponseData), Name = fileName, DetailByte = IO.FileUtils.ReadFile (fileName) }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (upData); |
| | | var revertObj2 = MainPage.RequestHttps (API.UploadHomeAppGatewaySubFiles, requestJson2); |
| | | if (revertObj2.StateCode.ToUpper () == "SUCCESS") { |
| | | Application.RunOnMainThread (() => { |
| | | int pro = (int)(index * 1.0 / backuplist.Count * 100); |
| | | MainPage.Loading.Text = pro.ToString () + "%"; |
| | | }); |
| | | } else { |
| | | //提示错误 |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 用户恢复文件 |
| | | /// </summary> |
| | | public void UserBakeupFileDetailedInformation (int folderID) |
| | | public void UserBakeupFileDetailedInformation (string BackupClassId) |
| | | { |
| | | //是否确定恢复该文件数据信息 |
| | | Alert alert = new Alert ("", Language.StringByID (R.MyInternationalizationString.SureToRestoreFileInformation), Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim)); |
| | |
| | | } |
| | | IO.FileUtils.DeleteFile (fileName); |
| | | } |
| | | |
| | | var requestObj2 = new GetHomeDataBackupUploadListPaggerObj (); |
| | | requestObj2.HomeId = UserConfig.Instance.CurrentRegion.Id; |
| | | requestObj2.BackupClassId = BackupClassId; |
| | | requestObj2.PageSetting.PageSize = 999999; |
| | | requestObj2.PageSetting.Page = 1; |
| | | //获取控制主人账号的Token |
| | | requestObj2.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | |
| | | |
| | | //获取所有文件组名 |
| | | var requestObj2 = new UserBackupListObj () { LevelID = folderID }; |
| | | //var requestObj2 = new UserBackupListObj () { LevelID = folderID }; |
| | | var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2); |
| | | var revertObj2 = MainPage.RequestHttps ("UserBackupList", requestJson2); |
| | | if (revertObj2.StateCode == "SUCCESS") { |
| | | var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<BackupInfoRes>> (revertObj2.ResponseData.ToString ()); |
| | | var revertObj2 = MainPage.RequestHttps (API.GetHomeDataBackupUploadListPagger, requestJson2); |
| | | if (revertObj2.StateCode.ToUpper() == "SUCCESS") { |
| | | var fileListData = Newtonsoft.Json.JsonConvert.DeserializeObject<LoadBackInfoResult> (revertObj2.ResponseData.ToString ()); |
| | | var responseDataObj = fileListData.PageData; |
| | | ////获取文件名字 |
| | | //List<string> listFileName = new List<string> (); |
| | | //foreach (LoadBackupFileNameInfo file in fileListData.PageData) { |
| | | // listFileName.Add (file.BackupFileName); |
| | | //} |
| | | //var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<BackupInfoRes>> (revertObj2.ResponseData.ToString ()); |
| | | |
| | | var mDownLoad = new DownloadSomeDataBackupObj (); |
| | | mDownLoad.HomeId = UserConfig.Instance.CurrentRegion.Id; |
| | | mDownLoad.BackupClassId = BackupClassId; |
| | | //获取控制主人账号的Token |
| | | mDownLoad.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | |
| | | int index = 0; |
| | | foreach (var file in responseDataObj) { |
| | | if (file.FileName == "null" || "UserConfig" == file.FileName) { |
| | | if (file.BackupFileName == "null" || "UserConfig" == file.BackupFileName) { |
| | | continue; |
| | | } |
| | | |
| | | var requestObj3 = new BackupDetailObj () { Id = file.Id }; |
| | | var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); |
| | | var revertObj3 = MainPage.RequestHttps ("BackupDetail", requestJson3); |
| | | if (revertObj3.StateCode == "SUCCESS") { |
| | | var jsonBytes = Newtonsoft.Json.JsonConvert.SerializeObject (revertObj3.ResponseData); |
| | | var byresss = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]> (jsonBytes); |
| | | mDownLoad.BackupFileName = file.BackupFileName; |
| | | //var requestObj3 = new BackupDetailObj () { Id = file.Id }; |
| | | var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (mDownLoad); |
| | | var revertObj3 = MainPage.RequestHttpsReturnByte (API.DownloadSomeDataBackup, requestJson3); |
| | | if (revertObj3 != null) { |
| | | index++; |
| | | //新增加了住宅区域,旧的备份数据没有区域属性,当获取到这个文件时,把当前到住宅信息更到当前备份到数据里面 |
| | | if ("UserConfig" == file.FileName){ |
| | | //var regionTemp = UserConfig.Instance.CurrentRegion; |
| | | //UserConfig.Instance.RefreshUserConfig (); |
| | | //UserConfig.Instance.CurrentRegion = regionTemp; |
| | | //UserConfig.Instance.SaveUserConfig (); |
| | | ////UserConfig.Instance.GatewayList |
| | | continue; |
| | | } |
| | | IO.FileUtils.WriteFileByBytes (file.FileName, byresss); |
| | | IO.FileUtils.WriteFileByBytes (file.BackupFileName, revertObj3); |
| | | Application.RunOnMainThread (() => { |
| | | int pro = (int)(index * 1.0 / responseDataObj.Count * 100); |
| | | MainPage.Loading.Text = pro.ToString () + "%"; |
| | | }); |
| | | } |
| | | |
| | | //if (revertObj3.StateCode.ToUpper() == "SUCCESS") { |
| | | // var jsonBytes = Newtonsoft.Json.JsonConvert.SerializeObject (revertObj3.ResponseData); |
| | | // var byresss = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]> (jsonBytes); |
| | | // index++; |
| | | // //新增加了住宅区域,旧的备份数据没有区域属性,当获取到这个文件时,把当前到住宅信息更到当前备份到数据里面 |
| | | // if ("UserConfig" == file.BackupFileName){ |
| | | // //var regionTemp = UserConfig.Instance.CurrentRegion; |
| | | // //UserConfig.Instance.RefreshUserConfig (); |
| | | // //UserConfig.Instance.CurrentRegion = regionTemp; |
| | | // //UserConfig.Instance.SaveUserConfig (); |
| | | // ////UserConfig.Instance.GatewayList |
| | | // continue; |
| | | // } |
| | | // IO.FileUtils.WriteFileByBytes (file.BackupFileName, byresss); |
| | | // Application.RunOnMainThread (() => { |
| | | // int pro = (int)(index * 1.0 / responseDataObj.Count * 100); |
| | | // MainPage.Loading.Text = pro.ToString () + "%"; |
| | | // }); |
| | | //} else { |
| | | // //错误提示 |
| | | |
| | | //} |
| | | } |
| | | MainPage.LoginUser.SaveUserInfo (); |
| | | Room.InitAllRoom (); |