using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter.HdlBackup { /// /// 自动备份的界面 /// public class HdlAutoBackUpForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// BackupClassId /// private string m_BackupDeleteClassId = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设置标题信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAppAutoBackup)); //初始化中部控件 this.InitMiddleFrame(); //添加上传菜单 this.AddUploadMenu(); } /// /// 初始化中部控件 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); HdlThreadLogic.Current.RunThread(async () => { //进度条 this.ShowProgressBar(); //获取app的自动备份 var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1); //关闭进度条 this.CloseProgressBar(); if (data == null || data.Count == 0) { return; } //自动备份只有一个 Application.RunOnMainThread(() => { if (this.Parent != null) { //添加自动备份的行 this.AddRowlayout(data[0]); this.m_BackupDeleteClassId = data[0].Id; } }); }); } #endregion #region ■ 添加自动备份的行___________________ /// /// 添加自动备份的行 /// /// private void AddRowlayout(BackupListNameInfo info) { //行 var rowLayout = new FrameRowControl(); bodyFrameLayout.AddChidren(rowLayout); //图标 var btnPoint = rowLayout.AddLeftIcon(); btnPoint.UnSelectedImagePath = "Center/Backup.png"; //备份名字 var txtText = rowLayout.AddLeftCaption("", 700); txtText.TextID = R.MyInternationalizationString.uAutoBackupData; //底线 rowLayout.AddBottomLine(); //下载图标 var btnLoad = rowLayout.AddMostRightEmptyIcon(81, 81); rowLayout.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind); //启用点亮功能 btnLoad.UseClickStatu = true; btnLoad.UnSelectedImagePath = "Item/DownLoad.png"; btnLoad.SelectedImagePath = "Item/DownLoadSelected.png"; btnLoad.ButtonClickEvent += (sender, e) => { //是否要下载并恢复数据? string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => { // 读取备份文档 this.LoadBackupInfo(info.Id); }); }; } #endregion #region ■ 读取备份文档_______________________ /// /// 读取备份文档 /// /// private void LoadBackupInfo(string BackupClassId) { HdlThreadLogic.Current.RunThread(async () => { //从云端获取备份的文件 bool result = await HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId); if (result == false) { //文件恢复失败 string msg2 = Language.StringByID(R.MyInternationalizationString.uFileRecoverFail); this.ShowMassage(ShowMsgType.Normal, msg2); return; } Application.RunOnMainThread(() => { //关闭所有界面 UserCenterLogic.CloseAllOpenForm(); //切换到主页 UserView.UserPage.Instance.Fresh(); }); //文件恢复成功 string msg = Language.StringByID(R.MyInternationalizationString.uFileRecoverSuccess); this.ShowMassage(ShowMsgType.Normal, msg); }); } #endregion #region ■ 上传数据___________________________ /// /// 上传数据 /// public void UpLoadBackupInfo() { HdlThreadLogic.Current.RunThread(async () => { int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData(); if (result == -1) { //文件上传失败 string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail); this.ShowMassage(ShowMsgType.Error, msg); return; } //数据成功同步到服务器 string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg); this.ShowMassage(ShowMsgType.Normal, msg2); Application.RunOnMainThread(() => { if (this.Parent != null) { //初始化中部控件 this.InitMiddleFrame(); } }); }); } #endregion #region ■ 添加上传菜单_______________________ /// /// 添加上传菜单 /// private void AddUploadMenu() { var btnIcon = new MostRightIconControl(69, 69); btnIcon.UnSelectedImagePath = "Item/More.png"; topFrameLayout.AddChidren(btnIcon); btnIcon.InitControl(); btnIcon.ButtonClickEvent += (sender, e) => { var menuForm = new TopRightMenuControl(this, 2); menuForm.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uUpLoadAutoBackUpButton), "", "", () => { //确认是否上传数据到服务器? string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => { UpLoadBackupInfo(); }); }); menuForm.AddRowMenu("删除备份", "", "", () => { string msg = "确定要删除自动备份吗?\r\n(PS:此功能后续会删除)"; this.ShowMassage(ShowMsgType.Confirm, msg, () => { DeleteBackId(); }); }); }; } #endregion #region ■ 添加删除菜单(暂时,后续会删除)______ /// /// 删除备份(暂时,后续会删除) /// private async void DeleteBackId() { if (this.m_BackupDeleteClassId == null) { return; } //进度条 this.ShowProgressBar(); bool success = await HdlBackupLogic.Current.DeleteDbBackupData(m_BackupDeleteClassId); //关闭进度条 this.CloseProgressBar(); if (success == false) { //删除备份失败 string msg = Language.StringByID(R.MyInternationalizationString.uDeleteBackupFail); this.ShowMassage(ShowMsgType.Error, msg); return; } Application.RunOnMainThread(() => { this.m_BackupDeleteClassId = null; this.InitMiddleFrame(); }); } #endregion } }