| | |
| | | using DataLoader.CS; |
| | | using DataLoader.Model; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Collections.ObjectModel; |
| | | using System.ComponentModel; |
| | | using System.IO; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.Threading; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | using System.Windows.Data; |
| | | using System.Windows.Documents; |
| | | using System.Windows.Input; |
| | | using System.Windows.Media; |
| | | using System.Windows.Media.Imaging; |
| | | using System.Windows.Navigation; |
| | | using System.Windows.Shapes; |
| | | |
| | | namespace DataLoader |
| | | { |
| | | public partial class MainWindow : Window |
| | | { |
| | | private bool isBusy; |
| | | |
| | | public ResWin resWin; |
| | | |
| | | private LoginWin loginWin; |
| | | |
| | | private ObservableCollection<ViewData> viewDatas = new ObservableCollection<ViewData>(); |
| | | |
| | | public MainWindow() |
| | | { |
| | | InitializeComponent(); |
| | | this.DataContext = this; |
| | | } |
| | | |
| | | // 窗口加载完成 |
| | | private void Window_Loaded(object sender, RoutedEventArgs e) |
| | | { |
| | | Main.Owner = this; |
| | | CommonProp.Owner = this; |
| | | CommonProp.Init(); |
| | | |
| | | this.btnLoad.IsEnabled = false; |
| | | this.btnDel.IsEnabled = false; |
| | | this.btnImport.IsEnabled = false; |
| | | |
| | | lvView.DataContext = viewDatas; |
| | | lvView.SetBinding(ListView.ItemsSourceProperty, new Binding()); |
| | | |
| | | // string md5 = MD5Helper.GetMD5Hash("E:\\data\\mpt\\A4mpt20131125.mpt"); |
| | | LogOut.Info("************ 应用程序启动成功! ************"); |
| | | } |
| | | |
| | | // 获取元数据类型 |
| | | private List<MetaType> GetMetaTypes() |
| | | { |
| | | List<MetaType> list = new List<MetaType>(); |
| | | list.Add(new MetaType("默认")); |
| | | list.Add(new MetaType("数字正射影像图")); |
| | | list.Add(new MetaType("数字高程模型")); |
| | | list.Add(new MetaType("单波段栅格数据")); |
| | | list.Add(new MetaType("多光谱栅格数据")); |
| | | list.Add(new MetaType("高光谱栅格数据")); |
| | | list.Add(new MetaType("矢量图层")); |
| | | list.Add(new MetaType("三维模型")); |
| | | |
| | | return list; |
| | | } |
| | | |
| | | // 登录 |
| | | private void Login_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
| | | private void Login_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | |
| | | loginWin = new LoginWin(); |
| | | this.Hide(); |
| | | loginWin.Show(); |
| | | } |
| | | |
| | | // 源目录 |
| | | private void Source_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
| | | // 设置登录信息 |
| | | public void SetLoginInfo() |
| | | { |
| | | if (loginWin != null) loginWin.Close(); |
| | | this.Show(); |
| | | |
| | | this.tbUid.Text = CommonProp.UserId.ToString(); |
| | | this.tbUname.Text = CommonProp.Uname; |
| | | this.tbToken.Text = CommonProp.Token; |
| | | |
| | | this.btnLoad.IsEnabled = true; |
| | | this.btnImport.IsEnabled = true; |
| | | } |
| | | |
| | | // 资源目录 |
| | | private void Dir_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | if (null == resWin) resWin = new ResWin(); |
| | | this.Hide(); |
| | | this.resWin.Show(); |
| | | } |
| | | |
| | | // 设置资源信息 |
| | | public void SetRes(string dircode, string fullName) |
| | | { |
| | | this.Show(); |
| | | |
| | | if (!string.IsNullOrEmpty(dircode)) |
| | | { |
| | | CommonProp.Dircode = dircode; |
| | | this.tbDir.Text = fullName; |
| | | } |
| | | } |
| | | |
| | | // 数据目录 |
| | | private void Source_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog(); |
| | | if (!String.IsNullOrEmpty(CommonProp.SourcePath) && Directory.Exists(CommonProp.SourcePath)) dialog.SelectedPath = CommonProp.SourcePath; |
| | | |
| | | System.Windows.Forms.DialogResult result = dialog.ShowDialog(); |
| | | if (result == System.Windows.Forms.DialogResult.Cancel) return; |
| | | |
| | | this.tbSource.Text = CommonProp.SourcePath = dialog.SelectedPath.Trim(); |
| | | } |
| | | |
| | | // 目标目录 |
| | | private void Target_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
| | | private void Target_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | System.Windows.Forms.FolderBrowserDialog dialog = new System.Windows.Forms.FolderBrowserDialog(); |
| | | if (!String.IsNullOrEmpty(CommonProp.TargetPath) && Directory.Exists(CommonProp.TargetPath)) dialog.SelectedPath = CommonProp.TargetPath; |
| | | |
| | | System.Windows.Forms.DialogResult result = dialog.ShowDialog(); |
| | | if (result == System.Windows.Forms.DialogResult.Cancel) return; |
| | | |
| | | this.tbTarget.Text = CommonProp.TargetPath = dialog.SelectedPath.Trim(); |
| | | } |
| | | |
| | | // 加载 |
| | | private void Load_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | if (isBusy) return; |
| | | if (string.IsNullOrEmpty(CommonProp.Dircode)) |
| | | { |
| | | MessageBox.Show("请选择资源目录!", "提示"); |
| | | return; |
| | | } |
| | | |
| | | CommonProp.SourcePath = this.tbSource.Text.Trim(); |
| | | if (string.IsNullOrEmpty(CommonProp.SourcePath) || !Directory.Exists(CommonProp.SourcePath)) |
| | | { |
| | | MessageBox.Show("请选择数据目录或数据目录不存在!", "提示"); |
| | | return; |
| | | } |
| | | |
| | | CommonProp.TargetPath = this.tbTarget.Text.Trim(); |
| | | if (string.IsNullOrEmpty(CommonProp.TargetPath) || !Directory.Exists(CommonProp.TargetPath)) |
| | | { |
| | | MessageBox.Show("请选择入库目录或入库目录不存在!", "提示"); |
| | | return; |
| | | } |
| | | |
| | | ContentControl ccSensor = this.tbSensorType.SelectedItem as ContentControl; |
| | | int.TryParse(ccSensor.Tag.ToString(), out CommonProp.SensorType); |
| | | |
| | | ContentControl ccMeta = this.cbMetaType.SelectedItem as ContentControl; |
| | | int.TryParse(ccMeta.Tag.ToString(), out CommonProp.MetaType); |
| | | |
| | | CommonProp.AcqTime = this.dpAcqTime.SelectedDate; |
| | | |
| | | this.isBusy = true; |
| | | this.viewDatas.Clear(); |
| | | Importor.Loading(viewDatas); |
| | | this.isBusy = false; |
| | | } |
| | | |
| | | // 删除 |
| | | private void Del_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | if (null == this.viewDatas || this.viewDatas.Count == 0) return; |
| | | |
| | | int i = 0; |
| | | while (i < this.viewDatas.Count) |
| | | { |
| | | if (this.viewDatas[i] != null && this.viewDatas[i].Checked) |
| | | { |
| | | this.viewDatas.RemoveAt(i); |
| | | continue; |
| | | } |
| | | i++; |
| | | } |
| | | } |
| | | |
| | | // 导入 |
| | | private void Import_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
| | | private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e) |
| | | { |
| | | if (isBusy || viewDatas.Count == 0) return; |
| | | |
| | | this.isBusy = true; |
| | | Thread thread = new Thread(new ThreadStart(() => |
| | | { |
| | | Importor.ImportFiles(viewDatas); |
| | | |
| | | lvView.Dispatcher.BeginInvoke((ThreadStart)delegate |
| | | { |
| | | ICollectionView view = CollectionViewSource.GetDefaultView(viewDatas); |
| | | view.Refresh(); |
| | | }); |
| | | |
| | | isBusy = false; |
| | | MessageBox.Show("数据导入完成!", "提示"); |
| | | })); |
| | | thread.Start(); |
| | | } |
| | | |
| | | // 窗口关闭中事件 |
| | | private void Window_Closing(object sender, CancelEventArgs e) |
| | | { |
| | | if (isBusy) |
| | | { |
| | | MessageBox.Show("正在导入数据,请稍后~", "提示"); |
| | | e.Cancel = true; |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | } |