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