using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter.HdlBackup { /// /// 自动备份的界面 /// public class HdlAutoBackUpForm : UserCenterCommonForm { #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() { bodyFrameLayout.RemoveAll(); new System.Threading.Thread(async () => { //进度条 this.ShowProgressBar(); //获取app的自动备份 var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1); //关闭进度条 this.CloseProgressBar(); if (data == null || data.Count == 0) { return; } //自动备份只有一个 Application.RunOnMainThread(() => { //添加自动备份的行 this.AddRowlayout(data[0]); this.m_BackupDeleteClassId = data[0].Id; }); }) { IsBackground = true }.Start(); } #endregion #region ■ 添加自动备份的行___________________ /// /// 添加自动备份的行 /// /// private void AddRowlayout(BackupListNameInfo info) { //行 var rowLayout = new StatuRowLayout(); bodyFrameLayout.AddChidren(rowLayout); //图标 var btnPoint = new RowLeftIconView(); btnPoint.SelectedImagePath = "Center/BackupSelected.png"; btnPoint.UnSelectedImagePath = "Center/Backup.png"; rowLayout.AddChidren(btnPoint, ChidrenBindMode.BindEventOnly); //备份名字 var txtText = new RowCenterView(); txtText.TextID = R.MyInternationalizationString.uAutoBackupData; rowLayout.AddChidren(txtText, ChidrenBindMode.BindEventOnly); //下载图标 var btnLoad = new MostRightEmptyView(); //启用点亮功能 btnLoad.UseClickStatu = true; btnLoad.UnSelectedImagePath = "Item/DownLoad.png"; btnLoad.SelectedImagePath = "Item/DownLoadSelected.png"; rowLayout.AddChidren(btnLoad, ChidrenBindMode.NotBind); //下载图标太右边不好看 btnLoad.X -= Application.GetRealWidth(50); btnLoad.MouseUpEventHandler += (sender, e) => { //是否要下载并恢复数据? string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg); this.ShowConfirmMsg(msg, "LoadBackupInfo", info.Id); }; } #endregion #region ■ 读取备份文档_______________________ /// /// 读取备份文档 /// /// public void LoadBackupInfo(string BackupClassId) { new System.Threading.Thread(async () => { //从云端获取备份的文件 bool result = await HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId); if (result == false) { //文件恢复失败 string msg2 = Language.StringByID(R.MyInternationalizationString.uFileRecoverFail); this.ShowNormalMsg(msg2); return; } Application.RunOnMainThread(() => { //关闭所有界面 UserCenterLogic.CloseAllOpenForm(); //切换到主页 UserView.UserPage.Instance.Fresh(); }); //文件恢复成功 string msg = Language.StringByID(R.MyInternationalizationString.uFileRecoverSuccess); this.ShowNormalMsg(msg); }) { IsBackground = true }.Start(); } #endregion #region ■ 上传数据___________________________ /// /// 上传数据 /// public void UpLoadBackupInfo() { new System.Threading.Thread(async () => { int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData(); if (result == -1) { //文件上传失败 string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail); this.ShowErrorMsg(msg); return; } //数据成功同步到服务器 string msg2 = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceSuccessMsg); this.ShowTip(msg2); Application.RunOnMainThread(() => { //初始化中部控件 this.InitMiddleFrame(); }); }) { IsBackground = true }.Start(); } #endregion #region ■ 添加上传菜单_______________________ /// /// 添加上传菜单 /// private void AddUploadMenu() { var btnIcon = new TopLayoutMostRightView(); btnIcon.UnSelectedImagePath = "Item/More.png"; btnIcon.SelectedImagePath = "Item/MoreSelected.png"; topFrameLayout.AddChidren(btnIcon); btnIcon.MouseUpEventHandler += (sender, e) => { var menuForm = new TopRightMenuControl(this, 1); menuForm.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uUpLoadAutoBackUpButton), (obj) => { //确认是否上传数据到服务器? string msg = Language.StringByID(R.MyInternationalizationString.uSynchronizeDataToServiceMsg); this.ShowConfirmMsg(msg, "UpLoadBackupInfo"); }); //menuForm.AddRowMenu("删除备份", (obj) => //{ // string msg = "确定要删除自动备份吗?\r\n(PS:此功能后续会删除)"; // this.ShowConfirmMsg(msg, "DeleteBackId"); //}); }; } #endregion #region ■ 添加删除菜单(暂时,后续会删除)______ /// /// 删除备份(暂时,后续会删除) /// public 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.ShowErrorMsg(msg); return; } Application.RunOnMainThread(() => { this.m_BackupDeleteClassId = null; this.InitMiddleFrame(); }); } #endregion } }