Example #1
0
        public MainWindow()
        {
            InitializeComponent();
            AppConfiguration  = new AppConfigurationManager();
            ProjectProperties = AppConfiguration.GetProjectProperties();
            // Добавить кодировку для чтения .xlsx файла.
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            // Назначить DataContext.
            SaveScanTextBox.DataContext = ProjectProperties;
            DataContext = ProjectProperties;
        }
Example #2
0
        // Назначить пути для работы с файлами.
        private async void LoadProjectButton_Click(object sender, RoutedEventArgs e)
        {
            var openFileWindow = new OpenDataFileWindow(ProjectProperties);

            if (openFileWindow.ShowDialog() == true)
            {
                LoadProgressBar.IsIndeterminate = true;
                StatusLabel.Content             = "Идет импорт проекта...";

                ProjectProperties = openFileWindow.ProjectProperties;

                var config = new AppConfigurationManager();
                config.SaveProperties(ProjectProperties);

                try
                {
                    ExcelService = new ExcelService(ProjectProperties);
                    var excelListTask = ExcelService.GetListAsync();

                    FindScanService = new FindScanService(ProjectProperties);
                    var resultTask  = FindScanService.GetMatchingResultFromExcelAsync(await excelListTask);
                    var resultModel = (await resultTask).Adapt <IEnumerable <MatchingResultViewModel> >();
                    LoadProject(resultModel);

                    resultTask.Wait();
                    LoadProgressBar.IsIndeterminate = false;
                    StatusLabel.Content             = "Перечень загружен";
                    SetNewWindowName("Новый проект");
                }
                catch (IOException ex)
                {
                    LoadProgressBar.IsIndeterminate = false;
                    MessageBox.Show($"Ошибка при открытии файла, файл занят другим процессом. Попробуйте закрыть Excel.\n{ex.Message}", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                catch (Exception ex)
                {
                    LoadProgressBar.IsIndeterminate = false;
                    MessageBox.Show($"Ошибка при загрузке данных {ex.Message}");
                }
            }
        }