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