HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-09-30 404cdc88627f942df7944af04ee05b9d527752d6
ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlManualBackUpForm.cs
@@ -7,48 +7,52 @@
    /// <summary>
    /// 备份画面
    /// </summary>
    public class HdlManualBackUpForm : UserCenterCommonForm
    public class HdlManualBackUpForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 列表控件
        /// </summary>
        private VerticalScrolViewLayout listView = null;
        private VerticalListControl listView = null;
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        public void ShowForm()
        {
            //设置标题信息
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        public void ShowForm()
        {
            //设置标题信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBackupAndRecover));
            //右上添加按钮
            var btnTopIcon = new TopLayoutMostRightView();
            var btnTopIcon = new MostRightIconControl(69, 69);
            btnTopIcon.UnSelectedImagePath = "Item/Add.png";
            btnTopIcon.SelectedImagePath = "Item/AddSelected.png";
            topFrameLayout.AddChidren(btnTopIcon);
            btnTopIcon.MouseUpEventHandler += (sender, e) =>
            topFrameLayout.AddChidren(btnTopIcon);
            btnTopIcon.InitControl();
            btnTopIcon.ButtonClickEvent += (sender, e) =>
            {
                //显示添加备考名画面
                this.ShowAddBackupForm();
            };
            //初始化中部控件
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部控件
        /// </summary>
        private void InitMiddleFrame()
                this.ShowAddBackupForm();
            };
            //初始化中部控件
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部控件
        /// </summary>
        private void InitMiddleFrame()
        {
            listView = new VerticalScrolViewLayout();
            //清空bodyFrame
            this.ClearBodyFrame();
            listView = new VerticalListControl(29);
            listView.BackgroundColor = UserCenterColor.Current.White;
            listView.Height = bodyFrameLayout.Height;
            bodyFrameLayout.AddChidren(listView);
@@ -84,17 +88,19 @@
            Application.RunOnMainThread(() =>
            {
                listView.RemoveAll();
            });
                if (this.Parent == null || listView == null)
                {
                    return;
            foreach (BackupListNameInfo fileInfo in pageData)
            {
                Application.RunOnMainThread(() =>
                }
                listView.RemoveAll();
                int count = pageData.Count - 1;
                for (int i = 0; i < pageData.Count; i++)
                {
                    //添加备份行
                    this.AddRowlayout(fileInfo);
                });
            }
                    this.AddRowlayout(pageData[i], i != count);
                }
            });
        }
        #endregion
@@ -105,53 +111,65 @@
        /// 添加备份行
        /// </summary>
        /// <param name="fileInfo"></param>
        private void AddRowlayout(BackupListNameInfo fileInfo)
        private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine)
        {
            //行
            var rowLayout = new StatuRowLayout(listView);
            var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
            listView.AddChidren(rowLayout);
            //图标
            var btnPoint = new RowLeftIconView();
            btnPoint.SelectedImagePath = "Center/BackupSelected.png";
            var btnPoint = rowLayout.frameTable.AddLeftIcon();
            btnPoint.UnSelectedImagePath = "Center/Backup.png";
            rowLayout.AddChidren(btnPoint);
            //备份名字
            var txtText = new RowCenterView();
            txtText.Text = fileInfo.BackupName;
            rowLayout.AddChidren(txtText);
            txtText.X -= ControlCommonResourse.PointXXLeft;
            var txtText = rowLayout.frameTable.AddLeftCaption(fileInfo.BackupName, 700);
            if (addLine == true)
            {
                //底线
                rowLayout.frameTable.AddBottomLine();
            }
            //编辑备注名
            rowLayout.MouseUpEvent += (sender, e) =>
            rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
            {
                //显示编辑备考名画面
                this.ShowEditorBackupForm(fileInfo);
            };
            //下载图标
            var btnLoad = new MostRightEmptyView();
            var btnLoad = rowLayout.frameTable.AddMostRightEmptyIcon(81, 81);
            rowLayout.frameTable.ChangedChidrenBindMode(btnLoad, ChidrenBindMode.NotBind);
            //启用点亮功能
            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) =>
            btnLoad.ButtonClickEvent += (sender, e) =>
            {
                //是否要下载并恢复数据?
                string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
                this.ShowConfirmMsg(msg, "LoadBackupInfo", fileInfo.Id);
                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                 {
                     //读取备份文档
                     this.LoadBackupInfo(fileInfo.Id);
                 });
            };
            //删除
            var btnDelete = new RowDeleteButton();
            var btnDelete = new NormalViewControl(Application.GetRealWidth(177), rowLayout.Height, false);
            btnDelete.BackgroundColor = UserCenterColor.Current.RowDeleteButtonColor;
            btnDelete.TextAlignment = TextAlignment.Center;
            btnDelete.TextColor = UserCenterColor.Current.White;
            btnDelete.TextID = R.MyInternationalizationString.uDelete;
            rowLayout.AddRightView(btnDelete);
            btnDelete.MouseUpEventHandler += (sender, e) =>
            btnDelete.ButtonClickEvent += (sender, e) =>
            {
                //确定要删除文件吗?
                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteFileMsg);
                this.ShowConfirmMsg(msg, "DeleteBackInfo", fileInfo.Id, ShowErrorMode.YES);
                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                 {
                     //删除备份文档
                     this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES);
                 });
            };
        }
@@ -163,7 +181,7 @@
        /// 读取备份文档
        /// </summary>
        /// <param name="BackupClassId"></param>
        public void LoadBackupInfo(string BackupClassId)
        private void LoadBackupInfo(string BackupClassId)
        {
            new System.Threading.Thread(async () =>
            {
@@ -173,13 +191,13 @@
                {
                    //文件恢复失败
                    string msg2 = Language.StringByID(R.MyInternationalizationString.uFileRecoverFail);
                    this.ShowNormalMsg(msg2);
                    this.ShowMassage(ShowMsgType.Error, msg2);
                    return;
                }
                Application.RunOnMainThread(() =>
                {
                    //关闭所有界面
                {
                    //关闭所有界面
                    UserCenterLogic.CloseAllOpenForm();
                    //切换到主页
                    UserView.UserPage.Instance.Fresh();
@@ -187,22 +205,9 @@
                //文件恢复成功
                string msg = Language.StringByID(R.MyInternationalizationString.uFileRecoverSuccess);
                this.ShowNormalMsg(msg);
                this.ShowMassage(ShowMsgType.Normal, msg);
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 读取备份的文档的进度
        /// </summary>
        /// <param name="nowValue"></param>
        /// <param name="count"></param>
        private void LoadBackupInfoProgress(decimal nowValue, decimal count)
        {
            //设置最大值
            this.SetProgressMax(count);
            //显示百分比
            this.SetProgressValue(nowValue);
        }
        #endregion
@@ -223,7 +228,7 @@
                {
                    //创建备份名字失败
                    string msg = Language.StringByID(R.MyInternationalizationString.uCreatBackupNameFail);
                    this.ShowErrorMsg(msg);
                    this.ShowMassage(ShowMsgType.Error, msg);
                    return;
                }
@@ -234,7 +239,7 @@
                {
                    //文件上传失败
                    string msg = Language.StringByID(R.MyInternationalizationString.uFileUpLoadFail);
                    this.ShowErrorMsg(msg);
                    this.ShowMassage(ShowMsgType.Error, msg);
                    //如果上传失败的话,就把它删除
                    this.DeleteBackInfo(backupClassId, ShowErrorMode.NO);
@@ -269,13 +274,15 @@
            var Pra = new EditorBackUpNamePra();
            Pra.BackupClassId = BackupClassId;
            Pra.BackupName = backName;
            //获取控制主人账号的Token
            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", Pra);
            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra);
            if (result == false)
            {
                //编辑备份名称失败
                string msg = Language.StringByID(R.MyInternationalizationString.uEditorBackupNameFail);
                this.ShowErrorMsg(msg);
                this.ShowMassage(ShowMsgType.Error, msg);
                //关闭
                this.CloseProgressBar();
                return;
@@ -314,7 +321,7 @@
                {
                    //删除备份失败
                    string msg = Language.StringByID(R.MyInternationalizationString.uDeleteBackupFail);
                    this.ShowErrorMsg(msg);
                    this.ShowMassage(ShowMsgType.Error, msg);
                }
                return;
            }
@@ -438,7 +445,7 @@
            {
                //请输入备注名称
                string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup);
                this.ShowErrorMsg(msg);
                this.ShowMassage(ShowMsgType.Error, msg);
                return false;
            }
            return true;