From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 18 九月 2020 13:58:19 +0800
Subject: [PATCH] 新版本
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs | 216 ++++++++++++++++++-----------------------------------
1 files changed, 73 insertions(+), 143 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
index d8c8cb4..99c3486 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlAutoBackupLogic.cs
@@ -22,10 +22,10 @@
/// 鎵ц涓婁紶鑷姩澶囦唤鏁版嵁(0:娌℃湁鍙笂浼犵殑鑷姩澶囦唤鏁版嵁 1:鎴愬姛 -1锛氬け璐�)
/// </summary>
/// <returns></returns>
- public async static Task<int> DoUpLoadAutoBackupData()
+ public static int DoUpLoadAutoBackupData()
{
//鑾峰彇app鐨勮嚜鍔ㄥ浠�
- var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
+ var data = HdlBackupLogic.Current.GetBackupListNameFromDB(1);
if (data == null)
{
return -1;
@@ -36,15 +36,15 @@
//鍒犻櫎鍏ㄩ儴鐨勮嚜鍔ㄥ浠界殑鏈湴鏂囦欢
DeleteAllAutoBackupFile();
//濡傛灉娌℃湁鑷姩澶囦唤鏁版嵁,鍒欐妸鏈湴鍏ㄩ儴涓滆タ涓婁紶
- var pathTemp = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
+ var pathTemp = DirNameResourse.AutoBackupDirectory;
//澶嶅埗鏈湴鎵�鏈夋枃浠惰繃鍘�
- List<string> listAllFile = Global.FileListByHomeId();
+ List<string> listAllFile = HdlFileLogic.Current.GetRootPathListFile();
foreach (string fileName in listAllFile)
{
- string oldFile = UserCenterLogic.CombinePath(fileName);
+ string oldFile = System.IO.Path.Combine(Config.Instance.FullPath, fileName);
string newFile = System.IO.Path.Combine(pathTemp, fileName);
//澶嶅埗鏂囦欢
- System.IO.File.Copy(oldFile, newFile, true);
+ HdlFileLogic.Current.CopyFile(oldFile, newFile);
}
}
@@ -63,7 +63,7 @@
ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uBackupFileUploading));
//涓婁紶鏂囦欢鍒颁簯绔�
- bool result = await UpLoadBackupFileToDB(listEditor);
+ bool result = UpLoadBackupFileToDB(listEditor);
if (result == false)
{
ProgressFormBar.Current.Close();
@@ -71,7 +71,7 @@
}
//鍒犻櫎鏂囦欢
- result = await DoDeleteFileFromDB(listDelete);
+ result = DoDeleteFileFromDB(listDelete);
if (result == false)
{
ProgressFormBar.Current.Close();
@@ -88,16 +88,16 @@
/// </summary>
/// <param name="listFile"></param>
/// <returns></returns>
- private async static Task<bool> UpLoadBackupFileToDB(List<string> listFile)
+ private static bool UpLoadBackupFileToDB(List<string> listFile)
{
int listFileCount = listFile.Count;
- string backUpDir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
+ string backUpDir = DirNameResourse.AutoBackupDirectory;
for (int i = 0; i < listFile.Count; i++)
{
string file = listFile[i];
var datainfo = new FileInfoData();
datainfo.BackupFileName = file;
- datainfo.BackupFileContent = ReadDirctoryFileByName(backUpDir, file);
+ datainfo.BackupFileContent = HdlFileLogic.Current.ReadFileByteContent(System.IO.Path.Combine(backUpDir, file));
if (datainfo.BackupFileContent == null)
{
continue;
@@ -106,7 +106,7 @@
list.Add(datainfo);
//鎵ц鏄笂浼�
- bool falge = await DoUpLoadInfoToDB(list);
+ bool falge = DoUpLoadInfoToDB(list);
if (falge == false)
{
return false;
@@ -122,7 +122,7 @@
/// </summary>
/// <param name="listData">鍒犻櫎鐨勬枃浠�</param>
/// <returns></returns>
- private async static Task<bool> DoDeleteFileFromDB(List<string> listData)
+ private static bool DoDeleteFileFromDB(List<string> listData)
{
if (listData.Count == 0)
{
@@ -130,7 +130,7 @@
}
//鑾峰彇app鐨勮嚜鍔ㄥ浠�
- var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
+ var data = HdlBackupLogic.Current.GetBackupListNameFromDB(1);
if (data == null || data.Count == 0)
{
return true;
@@ -146,19 +146,18 @@
//鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
upData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- bool falge = await UserCenterLogic.GetResultStatuByRequestHttps("App/DeleteAppBackupFile", true, upData);
+ bool falge = UserCenterLogic.GetResultStatuByRequestHttps("App/DeleteAppBackupFile", true, upData);
if (falge == false)
{
return false;
}
//鍒犻櫎鏂囦欢
- string strroot = Common.Config.Instance.FullPath;
- var backPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupdeleteDirectory);
+ var backPath = DirNameResourse.AutoBackupdeleteDirectory;
foreach (var file in listData)
{
string fullName = System.IO.Path.Combine(backPath, file);
- System.IO.File.Delete(fullName);
+ HdlFileLogic.Current.DeleteFile(fullName);
}
return true;
}
@@ -168,7 +167,7 @@
/// </summary>
/// <param name="listData">涓婁紶鐨勬暟鎹�</param>
/// <returns></returns>
- private async static Task<bool> DoUpLoadInfoToDB(List<FileInfoData> listData)
+ private static bool DoUpLoadInfoToDB(List<FileInfoData> listData)
{
var nowZigbeeNumHomeId = Shared.Common.Config.Instance.Home.Id;
@@ -178,19 +177,18 @@
//鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
upData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
- bool falge = await UserCenterLogic.GetResultStatuByRequestHttps("App/HomeAppAutoDataBackup", true, upData);
+ bool falge = UserCenterLogic.GetResultStatuByRequestHttps("App/HomeAppAutoDataBackup", true, upData, null, true);
if (falge == false)
{
return false;
}
//鍒犻櫎鏂囦欢
- string strroot = Common.Config.Instance.FullPath;
- var backPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
+ var backPath = DirNameResourse.AutoBackupDirectory;
foreach (var file in listData)
{
string fullName = System.IO.Path.Combine(backPath, file.BackupFileName);
- System.IO.File.Delete(fullName);
+ HdlFileLogic.Current.DeleteFile(fullName);
}
return true;
@@ -200,31 +198,13 @@
#region 鈻� 鑾峰彇鏂囦欢___________________________
- /// <summary>
- /// 鑾峰彇鎸囧畾鏂囦欢澶逛笅闈㈢殑鏂囦欢鍐呭
- /// </summary>
- /// <param name="dirctory">鎸囧畾鏂囦欢澶圭殑鍚嶅瓧(涓嶆槸鍏ㄨ矾寰�)</param>
- /// <param name="fileName">File name.</param>
- private static byte[] ReadDirctoryFileByName(string dirctory, string fileName)
- {
- var path = UserCenterLogic.CombinePath(dirctory, fileName);
- if (System.IO.File.Exists(path) == false)
- {
- return null;
- }
- return Shared.IO.FileUtils.ReadFile(path);
- }
-
/// <summary>
/// 鑾峰彇鑷姩澶囦唤鐩綍涓嬬殑娣诲姞鎴栬�呯紪杈戠殑鏂囦欢
/// </summary>
/// <returns></returns>
public static List<string> GetAutoBackupEditorFile()
{
- string strroot = Common.Config.Instance.FullPath;
- var path = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
-
- return GetFileFromDirectory(path);
+ return HdlFileLogic.Current.GetFileFromDirectory(DirNameResourse.AutoBackupDirectory);
}
/// <summary>
@@ -233,32 +213,7 @@
/// <returns></returns>
public static List<string> GetAutoBackupDeleteFile()
{
- string strroot = Common.Config.Instance.FullPath;
- var path = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupdeleteDirectory);
-
- return GetFileFromDirectory(path);
- }
-
- /// <summary>
- /// 鑾峰彇鎸囧畾鏂囦欢澶归噷闈㈢殑鍏ㄩ儴鏂囦欢
- /// </summary>
- /// <param name="directory">鏂囦欢璺緞锛堝叏鍚嶏級</param>
- /// <returns></returns>
- public static List<string> GetFileFromDirectory(string directory)
- {
- if (System.IO.Directory.Exists(directory) == false)
- {
- return new List<string>();
- }
-
- List<string> list = new List<string>();
- var files = System.IO.Directory.GetFiles(directory);
- foreach (var file in files)
- {
- var f = file.Substring(directory.Length + 1);
- list.Add(f);
- }
- return list;
+ return HdlFileLogic.Current.GetFileFromDirectory(DirNameResourse.AutoBackupdeleteDirectory);
}
#endregion
@@ -271,35 +226,26 @@
/// <param name="fileName">鏂囦欢鐨勫悕瀛�,涓嶅惈璺緞</param>
public static void AddOrEditorFile(string fileName)
{
- //鏍圭洰褰�
- string strroot = Common.Config.Instance.FullPath;
- if (strroot == string.Empty)
- {
- return;
- }
+ fileName = System.IO.Path.GetFileName(fileName);
//鑷姩澶囦唤鐩綍
- string strBackPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
-
-
- //鑷姩鍒犻櫎澶囦唤鐩綍
- string strdelBackPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupdeleteDirectory);
- //濡傛灉鍒犻櫎鍒楄〃閲岄潰鏈夎繖涓笢瑗跨殑璇濓紝绉婚櫎鎺�
- string delFile = System.IO.Path.Combine(strdelBackPath, fileName);
- if (System.IO.File.Exists(delFile) == true)
- {
- System.IO.File.Delete(delFile);
- }
-
- string soureFile = System.IO.Path.Combine(strroot, fileName);
- string newFile = System.IO.Path.Combine(strBackPath, fileName);
+ string strBackPath = DirNameResourse.AutoBackupDirectory;
if (System.IO.Directory.Exists(strBackPath) == false)
{
//棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶�
- UserCenterLogic.CreatAllUserCenterDirectory();
+ HdlFileLogic.Current.CreatAllUserCenterDirectory();
}
+ //鑷姩鍒犻櫎澶囦唤鐩綍
+ string strdelBackPath = DirNameResourse.AutoBackupdeleteDirectory;
+ //濡傛灉鍒犻櫎鍒楄〃閲岄潰鏈夎繖涓笢瑗跨殑璇濓紝绉婚櫎鎺�
+ string delFile = System.IO.Path.Combine(strdelBackPath, fileName);
+ HdlFileLogic.Current.DeleteFile(delFile);
+
+ string soureFile = System.IO.Path.Combine(Common.Config.Instance.FullPath, fileName);
+ string newFile = System.IO.Path.Combine(strBackPath, fileName);
+
//鍘熷師鏈湰鐨勫鍒舵枃浠跺埌鎸囧畾鏂囦欢澶�
- CopyFile(soureFile, newFile);
+ HdlFileLogic.Current.CopyFile(soureFile, newFile);
}
/// <summary>
@@ -308,20 +254,21 @@
/// <param name="fileName">鏂囦欢鐨勫悕瀛�,涓嶅惈璺緞</param>
public static void DeleteFile(string fileName)
{
- //鏍圭洰褰�
- string strroot = Common.Config.Instance.FullPath;
- if (strroot == string.Empty)
- {
- return;
- }
+ fileName = System.IO.Path.GetFileName(fileName);
//鑷姩鍒犻櫎澶囦唤鐩綍
- string strBackPath = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupdeleteDirectory);
-
+ string strBackPath = DirNameResourse.AutoBackupdeleteDirectory;
string newFile = System.IO.Path.Combine(strBackPath, fileName);
//鍒涘缓涓�涓┖鏂囦欢
var file = System.IO.File.Create(newFile);
file.Close();
+
+ //鑷姩澶囦唤鐩綍
+ strBackPath = DirNameResourse.AutoBackupDirectory;
+ //濡傛灉澶囦唤鍒楄〃閲岄潰鏈夎繖涓笢瑗跨殑璇濓紝绉婚櫎鎺�
+ string delFile = System.IO.Path.Combine(strBackPath, fileName);
+
+ HdlFileLogic.Current.DeleteFile(delFile);
}
#endregion
@@ -329,18 +276,18 @@
#region 鈻� 鍚屾鏁版嵁___________________________
/// <summary>
- /// 鍚屾浜戠鏁版嵁(浠呴檺APP鍚姩涔嬪悗) -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝�
+ /// 鍚屾浜戠鏁版嵁(浠呴檺APP鍚姩涔嬪悗) -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� 2:娌℃湁鑷姩澶囦唤鏁版嵁
/// </summary>
/// <returns></returns>
- public static async Task<int> SynchronizeDbAutoBackupData()
+ public static int SynchronizeDbAutoBackupData()
{
//鍒ゆ柇鏄惁鑳藉鍚屾鏁版嵁
- string checkFile = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoDownLoadBackupCheckFile);
+ string checkFile = DirNameResourse.AutoDownLoadBackupCheckFile;
//濡傛灉鏈湴宸茬粡鎷ユ湁浜嗚繖涓枃浠讹紝鍒欒鏄庝笉鏄柊鎵嬫満锛屼笉鍐嶈嚜鍔ㄨ繕鍘�
if (System.IO.File.Exists(checkFile) == true)
{
//鍚屾鏈嶅姟鍣ㄧ殑鍒嗕韩鍐呭
- await HdlShardLogic.Current.SynchronizeDbSharedContent();
+ HdlShardLogic.Current.SynchronizeDbSharedContent();
return 0;
}
@@ -348,7 +295,7 @@
if (UserCenterResourse.UserInfo.AuthorityNo == 3)
{
//鍚屾鏈嶅姟鍣ㄧ殑鍒嗕韩鍐呭
- await HdlShardLogic.Current.SynchronizeDbSharedContent();
+ HdlShardLogic.Current.SynchronizeDbSharedContent();
//鍒涘缓涓�涓┖鏂囦欢(鏍囪瘑宸茬粡瀹屾垚鍚屾)
var file = System.IO.File.Create(checkFile);
file.Close();
@@ -356,7 +303,7 @@
}
//鑾峰彇app鐨勮嚜鍔ㄥ浠�
- var data = await HdlBackupLogic.Current.GetBackupListNameFromDB(1);
+ var data = HdlBackupLogic.Current.GetBackupListNameFromDB(1);
if (data == null)
{
return -1;
@@ -364,11 +311,11 @@
if (data.Count == 0)
{
//鍚屾鏈嶅姟鍣ㄧ殑鍒嗕韩鍐呭
- await HdlShardLogic.Current.SynchronizeDbSharedContent();
+ HdlShardLogic.Current.SynchronizeDbSharedContent();
//鍒涘缓涓�涓┖鏂囦欢(鏍囪瘑宸茬粡瀹屾垚鍚屾)
var file = System.IO.File.Create(checkFile);
file.Close();
- return 1;
+ return 2;
}
//鑷姩澶囦唤鍙湁涓�涓�
string backId = data[0].Id;
@@ -378,19 +325,21 @@
ProgressFormBar.Current.SetMsg(Language.StringByID(R.MyInternationalizationString.uAccountDataIsSynchronizing));
//浠庝簯绔幏鍙栧浠界殑鏂囦欢锛岀劧鍚庡瓨鍏ユ湰鍦版寚瀹氱殑涓存椂鏂囦欢澶�
- string tempDir = await HdlBackupLogic.Current.GetBackFileFromDBAndSetToLocation(backId);
+ string tempDir = HdlBackupLogic.Current.GetBackFileFromDBAndSetToLocation(backId);
if (tempDir == null)
{
//鍒犻櫎妫�娴嬫枃浠�
System.IO.File.Delete(checkFile);
+ //鍏抽棴杩涘害鏉�
+ ProgressFormBar.Current.Close();
//鍚屾澶辫触
return -1;
}
//濡傛灉璇诲彇鍒扮殑鏂囦欢瀹屽叏娌℃湁闂锛屽垯娓呯悊鏈湴鐨勬枃浠�
- UserCenterLogic.DeleteAllLocationFile(false);
+ HdlFileLogic.Current.DeleteAllLocationFile(false);
//娌℃湁閿欒鐨勮瘽锛屽垯绉诲姩鍒板綋鍓嶄綇瀹呮枃浠跺す涓嬮潰
- Global.MoveDirectoryFileToHomeDirectory(tempDir, true);
+ HdlFileLogic.Current.MoveDirectoryFileToHomeDirectory(tempDir, true);
//鍒涘缓涓�涓┖鏂囦欢(鏍囪瘑宸茬粡瀹屾垚鍚屾)
var file2 = System.IO.File.Create(checkFile);
@@ -398,6 +347,9 @@
//閲嶆柊鍒锋柊浣忓畢瀵硅薄
UserCenterLogic.RefreshHomeObject();
+
+ //鍏抽棴杩涘害鏉�
+ ProgressFormBar.Current.Close();
return 1;
}
@@ -407,37 +359,19 @@
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
- /// 澶嶅埗鏂囦欢
- /// </summary>
- /// <param name="sourseFile">鎸囧畾鏂囦欢锛堝叏鍚嶏級</param>
- /// <param name="newFile">鏂版枃浠讹紙鍏ㄥ悕锛�</param>
- private static void CopyFile(string sourseFile, string newFile)
- {
- try
- {
- if (System.IO.File.Exists(sourseFile) == false)
- {
- return;
- }
- System.IO.File.Copy(sourseFile, newFile, true);
- }
- catch { }
- }
-
- /// <summary>
/// 鍒犻櫎鍏ㄩ儴鐨勮嚜鍔ㄥ浠界殑鏈湴鏂囦欢(姝ゅ嚱鏁扮敤浜庤鍙栬嚜鍔ㄥ浠界殑鏃跺�欎娇鐢�)
/// </summary>
public static void DeleteAllAutoBackupFile()
{
//娓呯┖鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞)
- string dirPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
- System.IO.Directory.Delete(dirPath, true);
- System.IO.Directory.CreateDirectory(dirPath);
+ string dirPath = DirNameResourse.AutoBackupDirectory;
+ HdlFileLogic.Current.DeleteDirectory(dirPath);
+ HdlFileLogic.Current.CreateDirectory(dirPath, true);
//娓呯┖鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎)
- dirPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupdeleteDirectory);
- System.IO.Directory.Delete(dirPath, true);
- System.IO.Directory.CreateDirectory(dirPath);
+ dirPath = DirNameResourse.AutoBackupdeleteDirectory;
+ HdlFileLogic.Current.DeleteDirectory(dirPath);
+ HdlFileLogic.Current.CreateDirectory(dirPath, true);
}
#endregion
@@ -452,11 +386,11 @@
public static void SaveBackupNotPrompted(bool notPrompted, int day = -1)
{
//鏂囦欢鍏ㄨ矾寰�
- string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
+ string fullName = DirNameResourse.AutoBackupNotPromptedFile;
BackupNotPrompted info = null;
if (System.IO.File.Exists(fullName) == true)
{
- var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
+ var data = HdlFileLogic.Current.ReadFileByteContent(fullName);
info = JsonConvert.DeserializeObject<BackupNotPrompted>(System.Text.Encoding.UTF8.GetString(data));
}
if (info == null)
@@ -471,9 +405,7 @@
info.Day = day;
}
//淇濆瓨
- var saveData = JsonConvert.SerializeObject(info);
- var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
- Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile, byteData);
+ HdlFileLogic.Current.SaveFileContent(fullName, info);
}
/// <summary>
@@ -486,10 +418,8 @@
//鏆備笉鏀寔鎴愬憳
return;
}
- string strroot = Common.Config.Instance.FullPath;
- var path = System.IO.Path.Combine(strroot, DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupDirectory);
- List<string> listFile1 = GetFileFromDirectory(path);
+ List<string> listFile1 = HdlFileLogic.Current.GetFileFromDirectory(DirNameResourse.AutoBackupDirectory);
List<string> listFile2 = GetAutoBackupDeleteFile();
if (listFile1.Count == 0 && listFile2.Count == 0)
@@ -503,7 +433,7 @@
}
//鏂囦欢鍏ㄨ矾寰�
- string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
+ string fullName = DirNameResourse.AutoBackupNotPromptedFile;
if (System.IO.File.Exists(fullName) == false)
{
HdlThreadLogic.Current.RunMain(() =>
@@ -514,7 +444,7 @@
return;
}
BackupNotPrompted info = null;
- var data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoBackupNotPromptedFile);
+ var data = HdlFileLogic.Current.ReadFileByteContent(fullName);
info = JsonConvert.DeserializeObject<BackupNotPrompted>(System.Text.Encoding.UTF8.GetString(data));
if (info.NotPrompted == true)
{
--
Gitblit v1.8.0