// Установить папку сканов для одной строки. private void SetScanRowButton_Click(object sender, RoutedEventArgs e) { var item = (MatchingResultViewModel)DocListDG.SelectedItem; var path = ScanFolderTextBox.Text; if (string.IsNullOrEmpty(path)) { return; } FindScanService?.SetScanFolder(item, path); FileNameComparer.FindAndSetScan(item, path); }
// Установить папку сканов для акта и всех документов. private void SetScanGroupButton_Click(object sender, RoutedEventArgs e) { var models = MatchingResultModels; var groupId = ((MatchingResultViewModel)DocListDG.SelectedItem).GroupId; var path = ScanFolderTextBox.Text; if (string.IsNullOrEmpty(path)) { return; } FindScanService?.SetScanFolder(models, groupId, path); FileNameComparer.FindAndSetScan(models, groupId, path); }
// Назначить пути для работы с файлами. 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}"); } } }