From 9f300514a23b1e008a3314c0b782ef67f190e7af Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 22 八月 2023 18:08:52 +0800
Subject: [PATCH] 修改“加载”功能

---
 DataLoader/CS/Importor.cs |   64 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 17 deletions(-)

diff --git a/DataLoader/CS/Importor.cs b/DataLoader/CS/Importor.cs
index 0b5fd01..217d165 100644
--- a/DataLoader/CS/Importor.cs
+++ b/DataLoader/CS/Importor.cs
@@ -15,18 +15,62 @@
         /// </summary>
         public static void GetFiles(ObservableCollection<ViewData> viewDatas)
         {
-            string[] files = Directory.GetFiles(CommonProp.SourcePath);
+            string[] files = Directory.GetFiles(CommonProp.SourcePath, "*", SearchOption.AllDirectories);
             for (int i = 0, c = files.Length; i < c; i++)
             {
+                string file = files[i];
+                string ext = Path.GetExtension(file).ToLower();
+                if (!StaticData.ALL_EXTENSION.Contains(ext) || IsExcludFile(file))
+                {
+                    continue;
+                }
+
                 ViewData vd = new ViewData();
                 vd.ID = i + 1;
-                vd.FilePath = files[i];
-                vd.Ext = System.IO.Path.GetExtension(files[i]);
+                vd.FilePath = file;
+                vd.Ext = ext;
                 vd.Status = "鍑嗗";
                 viewDatas.Add(vd);
 
                 SetSysMeta(vd);
             }
+        }
+
+        /// <summary>
+        /// 璁剧疆鍏冩暟鎹�
+        /// </summary>
+        private static void SetSysMeta(ViewData vd)
+        {
+            FileInfo fi = new FileInfo(vd.FilePath);
+
+            vd.Meta = new SysMeta();
+            vd.Meta.name = fi.Name;
+            //vd.Meta.dirid = Common.DirId;
+            //vd.Meta.depid = 1;
+            vd.Meta.verid = 0;
+            vd.Meta.type = fi.Extension.ToLower().Replace(".", "");
+            vd.Meta.sizes = Tools.SizeToMb(fi.Length);
+            vd.Meta.create_user = CommonProp.UserId;
+        }
+
+        /// <summary>
+        /// 鏄�/鍚︿负鎺掗櫎鏂囦欢
+        /// </summary>
+        private static bool IsExcludFile(string file)
+        {
+            bool isExclud = false;
+
+            string name = Path.GetFileName(file).ToLower();
+            foreach (string ss in StaticData.MAPPER_EXCLUDE_EXT)
+            {
+                if (name.EndsWith(ss))
+                {
+                    isExclud = true;
+                    break;
+                }
+            }
+
+            return isExclud;
         }
 
         /// <summary>
@@ -79,20 +123,6 @@
 
                 SetSysMeta(vd);
             }
-        }
-
-        private static void SetSysMeta(ViewData vd)
-        {
-            FileInfo fi = new FileInfo(vd.FilePath);
-
-            vd.Meta = new SysMeta();
-            vd.Meta.name = fi.Name;
-            //vd.Meta.dirid = Common.DirId;
-            //vd.Meta.depid = 1;
-            vd.Meta.verid = 0;
-            vd.Meta.type = fi.Extension.ToLower().Replace(".", "");
-            vd.Meta.sizes = Tools.SizeToMb(fi.Length);
-            vd.Meta.create_user = CommonProp.UserId;
         }
 
         public static void ImportFiles(ObservableCollection<ViewData> viewDatas, string target, int start)

--
Gitblit v1.9.3