using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone.UserCenter.HdlBackup
|
{
|
/// <summary>
|
/// 自动备份的界面
|
/// </summary>
|
public class HdlAutoBackUpForm : EditorCommonForm
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// BackupClassId
|
/// </summary>
|
private string m_BackupDeleteClassId = null;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
public void ShowForm()
|
{
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAppAutoBackup));
|
|
//初始化中部控件
|
this.InitMiddleFrame();
|
|
//添加上传菜单
|
this.AddUploadMenu();
|
}
|
|
/// <summary>
|
/// 初始化中部控件
|
/// </summary>
|
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 ■ 添加自动备份的行___________________
|
|
/// <summary>
|
/// 添加自动备份的行
|
/// </summary>
|
/// <param name="info"></param>
|
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 ■ 读取备份文档_______________________
|
|
/// <summary>
|
/// 读取备份文档
|
/// </summary>
|
/// <param name="BackupClassId"></param>
|
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 ■ 上传数据___________________________
|
|
/// <summary>
|
/// 上传数据
|
/// </summary>
|
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 ■ 添加上传菜单_______________________
|
|
/// <summary>
|
/// 添加上传菜单
|
/// </summary>
|
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 ■ 添加删除菜单(暂时,后续会删除)______
|
|
/// <summary>
|
/// 删除备份(暂时,后续会删除)
|
/// </summary>
|
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
|
}
|
}
|