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