From e1b6f5052ae50ac9507f6f3f6a06e2c2f574d0cd Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 01 一月 2023 21:13:29 +0800
Subject: [PATCH] 1

---
 DataLoader/MainWindow.xaml.cs |   46 ++++++++++++++++------
 DataLoader/CS/Importor.cs     |   16 +++----
 DataLoader/MainWindow.xaml    |   25 ++++++++----
 DataLoader/LoginWin.xaml      |    4 +-
 4 files changed, 59 insertions(+), 32 deletions(-)

diff --git a/DataLoader/CS/Importor.cs b/DataLoader/CS/Importor.cs
index f19e15c..b860aba 100644
--- a/DataLoader/CS/Importor.cs
+++ b/DataLoader/CS/Importor.cs
@@ -68,7 +68,7 @@
             return obj == null ? 0 : Convert.ToInt32(obj);
         }
 
-        public static void Import(ObservableCollection<ViewData> viewDatas, string source, string target)
+        public static void GetFiles(ObservableCollection<ViewData> viewDatas, string source)
         {
             string[] files = Directory.GetFiles(source);
             for (int i = 0, c = files.Length; i < c; i++)
@@ -81,8 +81,6 @@
 
                 SetSysMeta(vd);
             }
-
-            ImportFiles(viewDatas, target);
         }
 
         private static void SetSysMeta(ViewData vd)
@@ -112,19 +110,19 @@
             {
                 try
                 {
-                    vd.Status = "鑾峰彇MD5鐮�";
+                    vd.Status = "鐢熸垚MD5鐮�...";
                     string guid = MD5Helper.GetMD5Hash(vd.FilePath);
                     if (IsFileExists(guid))
                     {
-                        vd.Status = "宸插瓨鍦�";
+                        vd.Status = "宸插瓨鍦紒";
                         continue;
                     }
 
-                    vd.Status = "鎻掑叆鏁版嵁搴�";
+                    vd.Status = "鎻掑叆鏁版嵁搴�...";
                     int metaId = InsertMeta(vd.Meta);
                     if (metaId == 0)
                     {
-                        vd.Status = "鍏冩暟鎹嚭閿�";
+                        vd.Status = "鍏冩暟鎹嚭閿欙紒";
                         continue;
                     }
 
@@ -132,10 +130,10 @@
                     SysMetaFile mf = GetMetaFile(vd, metaId, start, guid);
                     InsertMetaFile(mf);
 
-                    vd.Status = "澶嶅埗鏂囦欢";
+                    vd.Status = "澶嶅埗鏂囦欢...";
                     CopyFile(vd.FilePath, Path.Combine(target, mf.path));
 
-                    vd.Status = "瀹屾垚";
+                    vd.Status = "瀹屾垚銆�";
                 }
                 catch (Exception ex)
                 {
diff --git a/DataLoader/LoginWin.xaml b/DataLoader/LoginWin.xaml
index 64f970b..0ddd4d4 100644
--- a/DataLoader/LoginWin.xaml
+++ b/DataLoader/LoginWin.xaml
@@ -2,8 +2,8 @@
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:Chrome="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
-        Loaded="Window_Loaded"
-        Title="鐧诲綍绐楀彛" Height="480" Width="600" WindowStartupLocation="CenterScreen">
+        Loaded="Window_Loaded" Title="鐧诲綍绐楀彛"
+        Height="500" Width="750" WindowStartupLocation="CenterScreen">
     <Grid>
         <Chrome:ChromiumWebBrowser x:Name="web" Margin="1" Grid.Row="1" />
     </Grid>
diff --git a/DataLoader/MainWindow.xaml b/DataLoader/MainWindow.xaml
index a232dd1..6aca7bf 100644
--- a/DataLoader/MainWindow.xaml
+++ b/DataLoader/MainWindow.xaml
@@ -1,7 +1,7 @@
 锘�<Window x:Class="DataLoader.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        Height="480" Width="600"
+        Height="500" Width="750"
         Loaded="Window_Loaded"
         Title="鏁版嵁鍏ュ簱" WindowStartupLocation="CenterScreen">
     <Window.Resources>
@@ -38,11 +38,11 @@
         </Grid.RowDefinitions>
 
         <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="7*" />
+            <ColumnDefinition Width="5*" />
+            <ColumnDefinition Width="18*" />
+            <ColumnDefinition Width="4*" />
             <ColumnDefinition Width="18*" />
             <ColumnDefinition Width="7*" />
-            <ColumnDefinition Width="18*" />
-            <ColumnDefinition Width="8*" />
         </Grid.ColumnDefinitions>
 
         <Label Grid.Row="0" Grid.Column="0" Content="鐢ㄦ埛ID锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
@@ -64,14 +64,23 @@
                 <ListView.View>
                     <GridView>
                         <GridView.Columns>
-                            <GridViewColumn Header="搴忓彿" Width="50" DisplayMemberBinding="{Binding Path=ID, Mode=OneWay}"></GridViewColumn>
-                            <GridViewColumn Header="璺緞" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"></GridViewColumn>
-                            <GridViewColumn Header="鐘舵��" Width="80" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"></GridViewColumn>
+                            <!--<GridViewColumn Header="搴忓彿" Width="50" DisplayMemberBinding="{Binding Path=ID, Mode=OneWay}"/>-->
+                            <GridViewColumn Header="搴忓彿" Width="Auto">
+                                <GridViewColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <TextBlock Text="{Binding Path=ID, Mode=OneWay}" TextAlignment="Center" MinWidth="{Binding Path=ActualWidth, ElementName=column}" HorizontalAlignment="Center"/>
+                                    </DataTemplate>
+                                </GridViewColumn.CellTemplate>
+                            </GridViewColumn>
+                            <GridViewColumn Header="璺緞" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"/>
+                            <GridViewColumn Header="杩愯鐘舵��" Width="120" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"/>
                         </GridView.Columns>
                     </GridView>
                 </ListView.View>
             </ListView>
         </ScrollViewer>
-        <Button x:Name="btnImport" Grid.Row="3" Grid.Column="4" Content="瀵� 鍏�" Style="{StaticResource btn}" Click="Import_MouseLeftButtonDown"/>
+
+        <Button x:Name="btnLoad" Grid.Row="3" Grid.Column="4" Content="鍔� 杞�" Style="{StaticResource btn}" Click="Load_MouseLeftButtonDown"/>
+        <Button x:Name="btnImport" Grid.Row="4" Grid.Column="4" Content="瀵� 鍏�" Style="{StaticResource btn}" Click="Import_MouseLeftButtonDown"/>
     </Grid>
 </Window>
diff --git a/DataLoader/MainWindow.xaml.cs b/DataLoader/MainWindow.xaml.cs
index 8fb9b4a..20a6f18 100644
--- a/DataLoader/MainWindow.xaml.cs
+++ b/DataLoader/MainWindow.xaml.cs
@@ -6,10 +6,13 @@
 using System.ComponentModel;
 using System.IO;
 using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Forms.VisualStyles;
+using System.Windows.Threading;
 
 namespace DataLoader
 {
@@ -19,9 +22,9 @@
 
         public event PropertyChangedEventHandler PropertyChanged;
 
-        private string _sourcePath= "D:\\LF\\data\\mdb";
+        private string _sourcePath = "D:\\opting\\寰楁枃鏁版嵁"; // "D:\\LF\\data\\mdb";
 
-        private string _targetPath= "D:\\LF\\upload";
+        private string _targetPath = "D:\\LF\\upload";
 
         private LoginWin win;
 
@@ -66,7 +69,9 @@
         {
             Tool.Owner = this;
 
+            this.btnLoad.IsEnabled = false;
             this.btnImport.IsEnabled = false;
+
             lvView.DataContext = viewDatas;
             lvView.SetBinding(ListView.ItemsSourceProperty, new Binding());
 
@@ -87,8 +92,10 @@
             if (win != null) win.Close();
             this.Show();
 
-            this.tbUid.Text = Tool.UserId.ToString() + "锛�" + Tool.Uname;
+            this.tbUid.Text = Tool.UserId.ToString() + "-" + Tool.Uname;
             this.tbToken.Text = Tool.Token;
+
+            this.btnLoad.IsEnabled = true;
             this.btnImport.IsEnabled = true;
         }
 
@@ -122,34 +129,47 @@
             this.TargetPath = dialog.SelectedPath.Trim();
         }
 
-        // 瀵煎叆
-        private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e)
+        // 鍔犺浇
+        private void Load_MouseLeftButtonDown(object sender, RoutedEventArgs e)
         {
             if (string.IsNullOrEmpty(SourcePath) || !Directory.Exists(SourcePath))
             {
-                MessageBox.Show("璇烽�夋嫨鏁版嵁鐩綍锛�");
+                MessageBox.Show("璇烽�夋嫨鏁版嵁鐩綍锛�", "鎻愮ず");
                 return;
             }
             if (string.IsNullOrEmpty(TargetPath) || !Directory.Exists(TargetPath))
             {
-                MessageBox.Show("璇烽�夋嫨鍏ュ簱鐩綍锛�");
+                MessageBox.Show("璇烽�夋嫨鍏ュ簱鐩綍锛�", "鎻愮ず");
                 return;
             }
             string[] files = Directory.GetFiles(SourcePath);
             if (null == files || files.Length == 0)
             {
-                MessageBox.Show("鏁版嵁鐩綍涓嬫病鏈夋枃浠讹紒");
+                MessageBox.Show("鏁版嵁鐩綍涓嬫病鏈夋枃浠讹紒", "鎻愮ず");
                 return;
             }
 
-            viewDatas.Clear();
+            this.viewDatas.Clear();
+            Importor.GetFiles(viewDatas, SourcePath);
+        }
 
-            Dispatcher.Invoke(new Action(delegate
+        // 瀵煎叆
+        private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e)
+        {
+            if (viewDatas.Count == 0) return;
+
+            Thread thread = new Thread(new ThreadStart(() =>
             {
-                this.btnImport.IsEnabled = false;
-                Importor.Import(viewDatas, SourcePath, TargetPath);
-                this.btnImport.IsEnabled = true;
+                Importor.ImportFiles(viewDatas, TargetPath);
+
+                lvView.Dispatcher.BeginInvoke((ThreadStart)delegate {
+                    ICollectionView view = CollectionViewSource.GetDefaultView(viewDatas);
+                    view.Refresh();
+                });
+
+                MessageBox.Show("鏁版嵁瀵煎叆瀹屾垚锛�", "鎻愮ず");
             }));
+            thread.Start();
         }
     }
 }

--
Gitblit v1.9.3