From a3c6000b9c452915e98abc069c4a06c34b2740e1 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 07 二月 2023 09:24:26 +0800 Subject: [PATCH] 1 --- DataLoader/CS/Importor.cs | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/DataLoader/CS/Importor.cs b/DataLoader/CS/Importor.cs index 464bbc6..55c839e 100644 --- a/DataLoader/CS/Importor.cs +++ b/DataLoader/CS/Importor.cs @@ -7,6 +7,7 @@ using System.IO; using System.Linq; using System.Reflection; +using System.Threading.Tasks; using System.Windows.Forms; namespace DataLoader.CS @@ -77,7 +78,7 @@ vd.Meta = new SysMeta(); vd.Meta.name = fi.Name; - vd.Meta.dirid = 1; + vd.Meta.dirid = Tool.DirId; vd.Meta.depid = 1; vd.Meta.verid = 0; vd.Meta.type = fi.Extension.ToLower().Replace(".", ""); @@ -87,6 +88,44 @@ public static void ImportFiles(ObservableCollection<ViewData> viewDatas, string target) { + Parallel.ForEach(viewDatas, (vd, ParallelLoopState) => + { + try + { + vd.Status = "鐢熸垚MD5鐮�..."; + string guid = MD5Helper.GetMD5Hash(vd.FilePath); + if (IsFileExists(guid)) + { + vd.Status = "宸插瓨鍦紒"; + return; + } + + vd.Status = "鎻掑叆鏁版嵁搴�..."; + int start = GetSubPath(target, 1); + SysMeta mf = GetMetaFile(vd, start, guid); + + int metaId = InsertMeta(mf); + if (metaId == 0) + { + vd.Status = "鍏冩暟鎹嚭閿欙紒"; + return; + } + + vd.Status = "澶嶅埗鏂囦欢..."; + CopyFile(vd.FilePath, Path.Combine(target, mf.path)); + + vd.Status = "瀹屾垚銆�"; + } + catch (Exception ex) + { + LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); + vd.Status = "澶辫触锛�"; + } + }); + } + + public static void ImportFiles2(ObservableCollection<ViewData> viewDatas, string target) + { int start = 1; foreach (ViewData vd in viewDatas) { -- Gitblit v1.9.3