using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.GatewayManage
{
///
/// 网关备份的列表界面
///
public class GatewayBackUpListForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalListControl listView = null;
///
/// 网关对象(这个是真实物理网关对象)
///
private ZbGateway realGateway = null;
///
/// 当前选择的备份ID
///
private string nowSelectBackId = string.Empty;
///
/// 当前选择的控件
///
private MostRightIconControl nowbtnSelect = null;
///
/// 下载按钮
///
private BottomClickButton btnDownload = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
///
public void ShowForm(ZbGateway i_zbGateway)
{
this.realGateway = i_zbGateway;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDwonloadData));
//初始化中部控件
this.InitMiddleFrame();
}
///
/// 初始化中部控件
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
var frameBack = new FrameLayout();
frameBack.Height = Application.GetRealHeight(11);
frameBack.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(frameBack);
listView = new VerticalListControl(12);
listView.Y = frameBack.Bottom;
listView.Height = bodyFrameLayout.Height - frameBack.Height;
listView.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(listView);
HdlThreadLogic.Current.RunThread(() =>
{
//从云端获取数据
this.SetBackupInfoToForm();
});
}
#endregion
#region ■ 从云端获取数据_____________________
///
/// 从云端获取数据
///
private void SetBackupInfoToForm()
{
this.nowSelectBackId = string.Empty;
this.nowbtnSelect = null;
//☆マーク☆
////进度条
//this.ShowProgressBar();
////获取自动备份的数据
//var pageAuto = HdlBackupLogic.Current.GetBackupListNameFromDB(3, realGateway.GwId);
//if (pageAuto == null)
//{
// //关闭进度条
// this.CloseProgressBar(ShowReLoadMode.YES);
// return;
//}
////从云端获取数据
//var pageData = HdlBackupLogic.Current.GetBackupListNameFromDB(2, realGateway.GwId);
//if (pageData == null)
//{
// //关闭进度条
// this.CloseProgressBar(ShowReLoadMode.YES);
// return;
//}
////关闭进度条
//this.CloseProgressBar();
//HdlThreadLogic.Current.RunMain(() =>
//{
// listView.RemoveAll();
// listView.RecoverHeight();
// //自动备份的ID
// string autoID = string.Empty;
// if (pageAuto.Count > 0)
// {
// autoID = pageAuto[0].Id;
// //添加自动备份行
// this.AddRowlayout(pageAuto[0], pageData.Count > 0, true);
// }
// for (int i = 0; i < pageData.Count; i++)
// {
// //添加备份行
// this.AddRowlayout(pageData[i], i != pageData.Count - 1, false);
// }
// this.btnDownload?.RemoveFromParent();
// if (pageData.Count > 0 || pageAuto.Count > 0)
// {
// //下载
// this.btnDownload = new BottomClickButton();
// btnDownload.TextID = R.MyInternationalizationString.uDownLoad;
// bodyFrameLayout.AddChidren(btnDownload);
// btnDownload.ButtonClickEvent += (sender, e) =>
// {
// if (this.nowSelectBackId == string.Empty)
// {
// return;
// }
// //是否要下载并恢复数据?
// string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
// this.ShowMassage(ShowMsgType.Confirm, msg, () =>
// {
// HdlThreadLogic.Current.RunThread(() =>
// {
// //读取备份文档
// bool result = HdlGatewayBackupLogic.Current.RecoverGateway(this.realGateway, this.nowSelectBackId, autoID == this.nowSelectBackId ? 1 : 0);
// if (result == true)
// {
// HdlThreadLogic.Current.RunMain(() =>
// {
// //关闭这个界面
// this.CloseForm();
// });
// }
// });
// });
// };
// //调整真实高度
// listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
// }
//});
}
#endregion
#region ■ 添加备份行_________________________
///
/// 添加备份行
///
///
///
///
private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine, bool isAuto)
{
var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
listView.AddChidren(rowLayout);
//备份名字
var txtText = rowLayout.frameTable.AddTopView(fileInfo.FolderName, 700);
if (isAuto == true)
{
txtText.TextID = R.MyInternationalizationString.uAutoBackup;
}
//时间 2019-11-11T11:31:01
var btnTime = rowLayout.frameTable.AddBottomView("", 600);
if (fileInfo.ModifyTime.Length >= 13)
{
btnTime.Text = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(fileInfo.ModifyTime).ToString("yyyy.MM.dd HH:mm:ss");
}
//底线
if (addLine == true)
{
rowLayout.frameTable.AddBottomLine();
}
//选择
var btnSelect = rowLayout.frameTable.AddMostRightEmptyIcon(58, 58);
btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
btnSelect.SelectedImagePath = "Item/ItemSelected.png";
rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
{
btnSelect.IsSelected = !btnSelect.IsSelected;
if (btnSelect.IsSelected == true)
{
this.nowSelectBackId = fileInfo.Id;
if (nowbtnSelect != null)
{
nowbtnSelect.IsSelected = false;
}
nowbtnSelect = btnSelect;
}
else
{
this.nowSelectBackId = string.Empty;
this.nowbtnSelect = null;
}
};
//自动备份不允许编辑
if (isAuto == false)
{
//编辑
var btnEditor = rowLayout.AddEditorControl();
btnEditor.ButtonClickEvent += (sender, e) =>
{
//显示编辑备考名画面
this.ShowEditorBackupForm(fileInfo);
};
//删除
var btnDelete = rowLayout.AddDeleteControl();
btnDelete.ButtonClickEvent += (sender, e) =>
{
//确认删除该备份数据?
string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
this.ShowMassage(ShowMsgType.Confirm, msg, () =>
{
//删除备份文档
this.DeleteBackInfo(fileInfo.Id);
});
};
}
}
#endregion
#region ■ 编辑备份名称_______________________
///
/// 编辑备份名称
///
///
///
private void EditorBackInfo(string BackupClassId, string backName)
{
//☆マーク☆
//var Pra = new EditorBackUpNamePra();
//Pra.BackupClassId = BackupClassId;
//Pra.BackupName = backName;
////获取控制主人账号的Token
//Pra.LoginAccessToken = HdlUserCenterLogic.GetConnectMainToken();
//bool result = HdlUserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra);
//if (result == false)
//{
// return;
//}
//HdlThreadLogic.Current.RunThread(() =>
//{
// //从云端获取数据
// this.SetBackupInfoToForm();
//});
}
#endregion
#region ■ 删除备份文档_______________________
///
/// 删除备份文档
///
///
private void DeleteBackInfo(string BackupClassId)
{
bool success = HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId);
if (success == false)
{
return;
}
if (this.nowSelectBackId == BackupClassId)
{
this.nowSelectBackId = string.Empty;
this.nowbtnSelect = null;
}
HdlThreadLogic.Current.RunThread(() =>
{
//从云端获取数据
this.SetBackupInfoToForm();
});
}
#endregion
#region ■ 显示编辑备考名画面_________________
///
/// 显示编辑备考名画面
///
///
///
private void ShowEditorBackupForm(BackupListNameInfo fileInfo)
{
//生成一个弹窗画面
var dialogForm = new DialogInputControl();
//编辑备份
dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
//请输入备份名称
dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName));
dialogForm.Text = fileInfo.FolderName;
//按下确认按钮
dialogForm.ComfirmClickEvent += ((txtvalue) =>
{
//画面关闭
dialogForm.CloseDialog();
//名字一样时,不处理
if (txtvalue != fileInfo.FolderName)
{
//编辑备份名称
this.EditorBackInfo(fileInfo.Id, txtvalue);
}
});
}
#endregion
}
}