黄学彪
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();
@@ -163,13 +163,13 @@
            }
            else
            {
                txtText.Text = fileInfo.BackupName;
                txtText.Text = fileInfo.FolderName;
            }
            //时间
            var btnTime = rowLayout.frameTable.AddBottomView("", 600);
            if (fileInfo.CreatedOnUtc.Length >= 19)
            if (fileInfo.ModifyTime.Length >= 13)
            {
                btnTime.Text = UserCenterLogic.ConvertUtcTimeToLocalTime(fileInfo.CreatedOnUtc).ToString("yyyy.MM.dd HH:mm:ss");
                btnTime.Text = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(fileInfo.ModifyTime).ToString("yyyy.MM.dd HH:mm:ss");
            }
            if (addLine == true)
            {
@@ -283,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)
                {
                    //文件恢复失败
@@ -295,10 +295,10 @@
                    return;
                }
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    //关闭所有界面
                    UserCenterLogic.CloseAllOpenForm();
                    HdlFormLogic.Current.CloseAllOpenForm(null, false);
                    //切换到主页
                    UserView.UserPage.Instance.ReFreshControl();
                });
@@ -319,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)
                {
                    //创建备份名字失败
@@ -333,7 +341,7 @@
                }
                //上传数据到云端
                bool result = await HdlBackupLogic.Current.UpLoadBackupFileToDB(backupClassId);
                bool result = HdlBackupLogic.Current.UpLoadBackupFileToDB(backupClassId);
                if (result == false)
                {
                    //文件上传失败
@@ -363,9 +371,17 @@
        /// </summary>
        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)
                {
                    //文件上传失败
@@ -394,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
@@ -432,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)
@@ -477,7 +475,7 @@
            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
            //请输入备份名称
            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName));
            dialogForm.Text = fileInfo.BackupName;
            dialogForm.Text = fileInfo.FolderName;
            //按下确认按钮
            dialogForm.ComfirmClickEvent += ((textValue) =>
@@ -492,7 +490,7 @@
                dialogForm.CloseDialog();
                //名字一样时,不处理
                if (textValue != fileInfo.BackupName)
                if (textValue != fileInfo.FolderName)
                {
                    //编辑备份名称
                    this.EditorBackInfo(fileInfo.Id, textValue);
@@ -533,28 +531,6 @@
        #endregion
        #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>
        /// 检测备考名称