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
}
}