黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/HdlBackup/HdlBackupListForm.cs
@@ -70,13 +70,13 @@
        /// <summary>
        /// 从云端获取数据
        /// </summary>
        private async void SetBackupInfoToForm()
        private void SetBackupInfoToForm()
        {
            //进度条
            this.ShowProgressBar();
            //获取app的自动备份
            var autoData = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
            var autoData = HdlBackupLogic.Current.GetBackupListNameFromDB(BackUpMode.A自动备份);
            if (autoData == null)
            {
                //关闭进度条
@@ -84,7 +84,7 @@
                return;
            }
            //从云端获取数据
            var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB();
            var pageData = HdlBackupLogic.Current.GetBackupListNameFromDB(BackUpMode.A手动备份);
            if (pageData == null)
            {
                //关闭进度条
@@ -118,8 +118,8 @@
                var listSort = new List<string>();
                for (int i = 0; i < pageData.Count; i++)
                {
                    listSort.Add(pageData[i].CreatedOnUtc);
                    dic[pageData[i].CreatedOnUtc] = pageData[i];
                    listSort.Add(pageData[i].ModifyTime);
                    dic[pageData[i].ModifyTime] = pageData[i];
                }
                listSort.Sort();
@@ -155,7 +155,7 @@
            btnPoint.UnSelectedImagePath = "Item/DownLoad.png";
            //备份名字
            var txtText = rowLayout.frameTable.AddLeftCaption("", 700, 60);
            var txtText = rowLayout.frameTable.AddTopView("", 700);
            if (autoBack == true)
            {
                //自动备份
@@ -163,22 +163,13 @@
            }
            else
            {
                txtText.Text = fileInfo.BackupName;
                txtText.Text = fileInfo.FolderName;
            }
            txtText.TextSize = 15;
            //这个坐标有点特殊
            txtText.Y = Application.GetRealHeight(12) + rowLayout.chidrenYaxis;
            rowLayout.frameTable.AddChidren(txtText, ChidrenBindMode.BindEventOnly);
            //时间
            var btnTime = rowLayout.frameTable.AddLeftCaption("", 600, 50, true);
            //这个坐标有点特殊
            btnTime.Y = Application.GetRealHeight(72) + rowLayout.chidrenYaxis;
            btnTime.TextSize = 12;
            btnTime.TextColor = UserCenterColor.Current.TextGrayColor1;
            rowLayout.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly);
            if (fileInfo.CreatedOnUtc.Length >= 19)
            var btnTime = rowLayout.frameTable.AddBottomView("", 600);
            if (fileInfo.ModifyTime.Length >= 13)
            {
                btnTime.Text = fileInfo.CreatedOnUtc.Replace("-", ".").Replace("T", " ");
                btnTime.Text = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(fileInfo.ModifyTime).ToString("yyyy.MM.dd HH:mm:ss");
            }
            if (addLine == true)
            {
@@ -228,20 +219,20 @@
                    //显示编辑备考名画面
                    this.ShowEditorBackupForm(fileInfo);
                };
            }
            //删除
            var btnDelete = rowLayout.AddDeleteControl();
            btnDelete.ButtonClickEvent += (sender, e) =>
            {
                //确认删除该备份数据?
                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                //删除
                var btnDelete = rowLayout.AddDeleteControl();
                btnDelete.ButtonClickEvent += (sender, e) =>
                {
                    //删除备份文档
                    this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES);
                });
            };
                    //确认删除该备份数据?
                    string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                    {
                        //删除备份文档
                        this.DeleteBackInfo(fileInfo.Id, ShowErrorMode.YES);
                    });
                };
            }
        }
        /// <summary>
@@ -292,10 +283,10 @@
        /// <param name="BackupClassId"></param>
        private void LoadBackupInfo(string BackupClassId)
        {
            HdlThreadLogic.Current.RunThread(async () =>
            HdlThreadLogic.Current.RunThread(() =>
            {
                //从云端获取备份的文件
                bool result = await HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId);
                bool result = HdlBackupLogic.Current.LoadAppBackupInfo(BackupClassId);
                if (result == false)
                {
                    //文件恢复失败
@@ -304,12 +295,12 @@
                    return;
                }
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    //关闭所有界面
                    UserCenterLogic.CloseAllOpenForm();
                    HdlFormLogic.Current.CloseAllOpenForm(null, false);
                    //切换到主页
                    UserView.UserPage.Instance.Fresh();
                    UserView.UserPage.Instance.ReFreshControl();
                });
                //文件恢复成功
@@ -328,10 +319,18 @@
        /// <param name="backName"></param>
        private void UpLoadBackInfo(string backName)
        {
            HdlThreadLogic.Current.RunThread(async () =>
            HdlThreadLogic.Current.RunThread(() =>
            {
                //绑定还没有成功的网关
                var result2 = HdlGatewayLogic.Current.ResetComandToBindBackupGateway();
                if (result2 == false)
                {
                    //绑定网关失败,请重新上传
                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uBindGatewayFailPleaseUploadAgain));
                    return;
                }
                //创建一个备份名字
                string backupClassId = await HdlBackupLogic.Current.CreatNewBackupNameToDB(backName);
                string backupClassId = HdlBackupLogic.Current.CreatNewBackupNameToDB(backName, BackUpMode.A手动备份);
                if (backupClassId == null)
                {
                    //创建备份名字失败
@@ -342,7 +341,7 @@
                }
                //上传数据到云端
                bool result = await HdlBackupLogic.Current.UpLoadBackupFileToDB(backupClassId);
                bool result = HdlBackupLogic.Current.UpLoadBackupFileToDB(backupClassId);
                if (result == false)
                {
                    //文件上传失败
@@ -370,11 +369,19 @@
        /// <summary>
        /// 上传自动备份数据
        /// </summary>
        public void UpLoadAutoBackupInfo()
        private void UpLoadAutoBackupInfo()
        {
            HdlThreadLogic.Current.RunThread(async () =>
            HdlThreadLogic.Current.RunThread(() =>
            {
                int result = await HdlAutoBackupLogic.DoUpLoadAutoBackupData();
                //绑定还没有成功的网关
                var result2 = HdlGatewayLogic.Current.ResetComandToBindBackupGateway();
                if (result2 == false)
                {
                    //绑定网关失败,请重新上传
                    this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uBindGatewayFailPleaseUploadAgain));
                    return;
                }
                int result = HdlBackupLogic.Current.DoUpLoadAutoBackupDataByHand();
                if (result == -1)
                {
                    //文件上传失败
@@ -403,33 +410,22 @@
        /// </summary>
        /// <param name="BackupClassId"></param>
        /// <param name="backName"></param>
        private async void EditorBackInfo(string BackupClassId, string backName)
        private void EditorBackInfo(string BackupClassId, string backName)
        {
            //开启进度条
            this.ShowProgressBar();
            var Pra = new EditorBackUpNamePra();
            Pra.BackupClassId = BackupClassId;
            Pra.BackupName = backName;
            //获取控制主人账号的Token
            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
            bool result = HdlBackupLogic.Current.EditorBackupName(BackupClassId, backName);
            this.CloseProgressBar();
            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra);
            if (result == false)
            if (result == true)
            {
                //编辑备份名称失败
                string msg = Language.StringByID(R.MyInternationalizationString.uEditorBackupNameFail);
                this.ShowMassage(ShowMsgType.Error, msg);
                //关闭
                this.CloseProgressBar();
                return;
                HdlThreadLogic.Current.RunThread(() =>
                {
                    //从云端获取数据
                    this.SetBackupInfoToForm();
                });
            }
            HdlThreadLogic.Current.RunThread(() =>
            {
                //从云端获取数据
                this.SetBackupInfoToForm();
            });
        }
        #endregion
@@ -441,16 +437,9 @@
        /// </summary>
        /// <param name="BackupClassId"></param>
        /// <param name="showMode"></param>
        public async void DeleteBackInfo(string BackupClassId, ShowErrorMode showMode = ShowErrorMode.YES)
        public void DeleteBackInfo(string BackupClassId, ShowErrorMode showMode = ShowErrorMode.YES)
        {
            //进度条
            this.ShowProgressBar();
            bool success = await HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId);
            //关闭进度条
            this.CloseProgressBar();
            bool success = HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId);
            if (success == false)
            {
                if (showMode == ShowErrorMode.YES)
@@ -481,13 +470,12 @@
        private void ShowEditorBackupForm(BackupListNameInfo fileInfo)
        {
            //生成一个弹窗画面
            var dialogForm = new DialogInputForm();
            dialogForm.AddForm(DialogFrameMode.OnlyInput);
            var dialogForm = new DialogInputControl();
            //编辑备份
            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
            //请输入备注名称
            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup));
            dialogForm.Text = fileInfo.BackupName;
            //请输入备份名称
            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName));
            dialogForm.Text = fileInfo.FolderName;
            //按下确认按钮
            dialogForm.ComfirmClickEvent += ((textValue) =>
@@ -499,10 +487,10 @@
                }
                //画面关闭
                dialogForm.CloseForm();
                dialogForm.CloseDialog();
                //名字一样时,不处理
                if (textValue != fileInfo.BackupName)
                if (textValue != fileInfo.FolderName)
                {
                    //编辑备份名称
                    this.EditorBackInfo(fileInfo.Id, textValue);
@@ -517,12 +505,11 @@
        private void ShowAddBackupForm()
        {
            //生成一个弹窗画面
            var dialogForm = new DialogInputForm();
            dialogForm.AddForm(DialogFrameMode.OnlyInput);
            var dialogForm = new DialogInputControl();
            //添加备份
            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddBackup));
            //请输入备注名称
            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup));
            //请输入备份名称
            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName));
            //按下确认按钮
            dialogForm.ComfirmClickEvent += ((textValue) =>
@@ -534,7 +521,7 @@
                }
                //画面关闭
                dialogForm.CloseForm();
                dialogForm.CloseDialog();
                //上传备份
                this.UpLoadBackInfo(textValue);
@@ -546,28 +533,6 @@
        #region ■ 一般方法___________________________
        /// <summary>
        /// 把本地所有文件移动到自动备份文件夹
        /// </summary>
        private void CopyLocationAllFileToAutoBackDirectory()
        {
            List<string> listAllFile = Shared.Common.Global.FileListByHomeId();
            string strroot = Common.Config.Instance.FullPath;
            string autoPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
            foreach (string file in listAllFile)
            {
                //判断是否是应该上传的文件
                if (HdlBackupLogic.Current.IsNotUpLoadFile(file) == true)
                {
                    continue;
                }
                string sourseName = System.IO.Path.Combine(strroot, file);
                string newName = System.IO.Path.Combine(autoPath, file);
                System.IO.File.Copy(sourseName, newName, true);
            }
        }
        /// <summary>
        /// 检测备考名称
        /// </summary>
        /// <param name="backName"></param>
@@ -576,8 +541,8 @@
        {
            if (backName == string.Empty)
            {
                //请输入备注名称
                string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackup);
                //请输入备份名称
                string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName);
                this.ShowMassage(ShowMsgType.Error, msg);
                return false;
            }