管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-08-22 994d438b4b06011eb7656357a367392bb30467c5
DataLoader/MainWindow.xaml.cs
@@ -15,6 +15,8 @@
{
    public partial class MainWindow : Window
    {
        private bool isBusy;
        public ResWin resWin;
        private LoginWin loginWin;
@@ -32,8 +34,6 @@
            CommonProp.Owner = this;
            CommonProp.Init();
            //this.cbMetaType.ItemsSource= GetMetaTypes();
            //this.cbMetaType.SelectedIndex= 0;
            this.btnLoad.IsEnabled = false;
            this.btnImport.IsEnabled = false;
@@ -59,7 +59,7 @@
            return list;
        }
        // 设置
        // 登录
        private void Login_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            loginWin = new LoginWin();
@@ -67,6 +67,7 @@
            loginWin.Show();
        }
        // 设置登录信息
        public void SetLoginInfo()
        {
            if (loginWin != null) loginWin.Close();
@@ -88,6 +89,7 @@
            this.resWin.Show();
        }
        // 设置资源信息
        public void SetRes(string dircode, string fullName)
        {
            this.Show();
@@ -126,40 +128,41 @@
        // 加载
        private void Load_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            //if (string.IsNullOrEmpty(SourcePath) || !Directory.Exists(SourcePath))
            //{
            //    MessageBox.Show("请选择数据目录!", "提示");
            //    return;
            //}
            //if (string.IsNullOrEmpty(TargetPath) || !Directory.Exists(TargetPath))
            //{
            //    MessageBox.Show("请选择入库目录!", "提示");
            //    return;
            //}
            if (isBusy) return;
            if (string.IsNullOrEmpty(CommonProp.Dircode))
            {
                MessageBox.Show("请选择资源目录!", "提示");
                return;
            }
            if (string.IsNullOrEmpty(CommonProp.SourcePath) || !Directory.Exists(CommonProp.SourcePath))
            {
                MessageBox.Show("请选择数据目录或数据目录不存在!", "提示");
                return;
            }
            if (string.IsNullOrEmpty(CommonProp.TargetPath) || !Directory.Exists(CommonProp.TargetPath))
            {
                MessageBox.Show("请选择入库目录或入库目录不存在!", "提示");
                return;
            }
            CommonProp.SensorType = this.tbSensorType.Text.Trim();
            ContentControl cc = this.cbMetaType.SelectedItem as ContentControl;
            CommonProp.MetaType = null == cc || "请选择" == cc.Content.ToString() ? string.Empty : cc.Content.ToString();
            CommonProp.AcqTime = this.dpAcqTime.SelectedDate;
            //string[] files = Directory.GetFiles(SourcePath);
            //if (null == files || files.Length == 0)
            //{
            //    MessageBox.Show("数据目录下没有文件!", "提示");
            //    return;
            //}
            //this.viewDatas.Clear();
            //Importor.GetFiles(viewDatas, SourcePath);
            this.isBusy = true;
            this.viewDatas.Clear();
            Importor.GetFiles(viewDatas);
            this.isBusy = false;
        }
        // 导入
        private void Import_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            if (viewDatas.Count == 0) return;
            if (isBusy || viewDatas.Count == 0) return;
            //string str = this.tbStart.Text.Trim();
            //int start = 1;
            //int.TryParse(str, out start);
            this.isBusy = true;
            Thread thread = new Thread(new ThreadStart(() =>
            {
                //Importor.ImportFiles(viewDatas, TargetPath, start);
                Importor.ImportFiles(viewDatas);
                lvView.Dispatcher.BeginInvoke((ThreadStart)delegate
                {
@@ -167,9 +170,21 @@
                    view.Refresh();
                });
                isBusy = false;
                MessageBox.Show("数据导入完成!", "提示");
            }));
            thread.Start();
        }
        // 窗口关闭中事件
        private void Window_Closing(object sender, CancelEventArgs e)
        {
            if (isBusy)
            {
                MessageBox.Show("正在导入数据,请稍后~", "提示");
                e.Cancel = true;
                return;
            }
        }
    }
}