gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
@@ -58,15 +58,15 @@
                return 0;
            }
            //开启进度条
            ProgressBar.SetMaxValue(listEditor.Count + listDelete.Count);
            ProgressBar.Show();
            //开启进度条 正在上传备份文件
            ProgressFormBar.Current.Start();
            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uBackupFileUploading));
            //上传文件到云端
            bool result = await UpLoadBackupFileToDB(listEditor);
            if (result == false)
            {
                ProgressBar.Close();
                ProgressFormBar.Current.Close();
                return -1;
            }
@@ -74,11 +74,11 @@
            result = await DoDeleteFileFromDB(listDelete);
            if (result == false)
            {
                ProgressBar.Close();
                ProgressFormBar.Current.Close();
                return -1;
            }
            ProgressBar.Close();
            ProgressFormBar.Current.Close();
            return 1;
        }
@@ -90,9 +90,11 @@
        /// <returns></returns>
        private async static Task<bool> UpLoadBackupFileToDB(List<string> listFile)
        {
            int listFileCount = listFile.Count;
            string backUpDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
            foreach (string file in listFile)
            for (int i = 0; i < listFile.Count; i++)
            {
                string file = listFile[i];
                var datainfo = new FileInfoData();
                datainfo.BackupFileName = file;
                datainfo.BackupFileContent = ReadDirctoryFileByName(backUpDir, file);
@@ -110,7 +112,7 @@
                    return false;
                }
                //设置进度值
                ProgressBar.SetValue(list.Count);
                ProgressFormBar.Current.SetValue(i + 1, listFileCount);
            }
            return true;
        }
@@ -327,7 +329,7 @@
        #region ■ 同步数据___________________________
        /// <summary>
        /// 同步云端数据(仅限APP启动之后) -1:异常   0:已经同步过,不需要同步  1:正常同步
        /// 同步云端数据(仅限APP启动之后) -1:异常   0:已经同步过,不需要同步  1:正常同步  2:没有自动备份数据
        /// </summary>
        /// <returns></returns>
        public static async Task<int> SynchronizeDbAutoBackupData()
@@ -337,19 +339,19 @@
            //如果本地已经拥有了这个文件,则说明不是新手机,不再自动还原
            if (System.IO.File.Exists(checkFile) == true)
            {
                //同步服务器的取消了的分享内容
                await HdlShardLogic.Current.SynchronizeDeleteSharedContent();
                //同步服务器的分享内容
                await HdlShardLogic.Current.SynchronizeDbSharedContent();
                return 0;
            }
            //创建一个空文件
            var file = System.IO.File.Create(checkFile);
            file.Close();
            //暂时不支持成员
            if (UserCenterResourse.UserInfo.AuthorityNo == 3)
            {
                //同步服务器的分享内容
                await HdlShardLogic.Current.SynchronizeDbSharedContent();
                //创建一个空文件(标识已经完成同步)
                var file = System.IO.File.Create(checkFile);
                file.Close();
                return 1;
            }
@@ -357,21 +359,23 @@
            var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
            if (data == null)
            {
                //异常,删除检测文件
                System.IO.File.Delete(checkFile);
                return -1;
            }
            if (data.Count == 0)
            {
                //同步服务器的分享内容
                await HdlShardLogic.Current.SynchronizeDbSharedContent();
                return 1;
                //创建一个空文件(标识已经完成同步)
                var file = System.IO.File.Create(checkFile);
                file.Close();
                return 2;
            }
            //自动备份只有一个
            string backId = data[0].Id;
            //强制指定文本附加信息:账号数据同步中
            ProgressBar.SetAppendText(Language.StringByID(R.MyInternationalizationString.uAccountDataIsSynchronizing));
            //账号数据同步中
            ProgressFormBar.Current.Start();
            ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uAccountDataIsSynchronizing));
            //从云端获取备份的文件,然后存入本地指定的临时文件夹
            string tempDir = await HdlBackupLogic.Current.GetBackFileFromDBAndSetToLocation(backId);
@@ -388,8 +392,13 @@
            //没有错误的话,则移动到当前住宅文件夹下面
            Global.MoveDirectoryFileToHomeDirectory(tempDir, true);
            //同步服务器的取消了的分享内容
            await HdlShardLogic.Current.SynchronizeDeleteSharedContent();
            //创建一个空文件(标识已经完成同步)
            var file2 = System.IO.File.Create(checkFile);
            file2.Close();
            //重新刷新住宅对象
            UserCenterLogic.RefreshHomeObject();
            return 1;
        }
@@ -497,9 +506,9 @@
            string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
            if (System.IO.File.Exists(fullName) == false)
            {
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    var form = new HdlBackup.HdlAutoBackupSettionForm();
                    var form = new HdlBackup.HdlAutoBackupForm();
                    form.AddForm();
                });
                return;
@@ -514,9 +523,9 @@
            }
            if (info.Day == 0)
            {
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    var form = new HdlBackup.HdlAutoBackupSettionForm();
                    var form = new HdlBackup.HdlAutoBackupForm();
                    form.AddForm();
                });
                return;
@@ -527,11 +536,12 @@
            //时间已经超过
            if (intDay > info.Day)
            {
                Application.RunOnMainThread(() =>
                HdlThreadLogic.Current.RunMain(() =>
                {
                    var form = new HdlBackup.HdlAutoBackupSettionForm();
                    var form = new HdlBackup.HdlAutoBackupForm();
                    form.AddForm();
                });
                return;
            }
        }