private void Proceed_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(_top[0]) || string.IsNullOrWhiteSpace(_middle[0]) || string.IsNullOrWhiteSpace(_bottom[0])) { MessageBox.Show("Please, add all parts of the Telescope tool", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } var partsFiles = new Dictionary <string, PartFile> { { "Top", new PartFile { File = _top[0], Type = SmartToolPartType.Top } }, { "Middle", new PartFile { File = _middle[0], Type = SmartToolPartType.Middle } }, { "Bottom", new PartFile { File = _bottom[0], Type = SmartToolPartType.Bottom } } }; var client = new SmartToolClient(partsFiles, SmartToolType.Telescope); client.Run(); var files = Directory.GetFiles($@"{System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\work", "*.xlsx"); if (files.Length != 0) { XlsxCombiner.SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime(); XlsxCombiner.CombineXlsxFilesFromWorkDir(files); MessageBox.Show("Task completed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk); XlsxTotalFishingDiagramOpener.ShowTotalDiagram(XlsxCombiner.CombinedFile); } else { MessageBox.Show("Finished. No files were processed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk); } foreach (var file in files) { File.Delete(file); } }
//Обработчик нажатия на кнопку [Обработать] private void Proceed_Click(object sender, RoutedEventArgs e) { //Если не выбран ни один файл, показываем сообщение и выходим из процедуры if (_files.Count == 0) { MessageBox.Show("No files have been selected", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } Proceed.IsEnabled = false; //Если не вышли на предыдущем шаге, то заполняем данные из полей на форме для формирования заголовка var headerData = new HeaderData { ClientField = Client.Text, DateField = Date.Text, DdEngineerField = DdEngineer.Text, FieldPadWellField = FieldPadWell.Text, LocationField = Location.Text }; //Экземпляр класса Client запускает всю логику приложения, дальнейшая работа проходит в нём, можно смело открывать //файл Client.cs var client = new Client { Header = headerData, SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime() }; foreach (var file in _files) { client.Run(file); } var files = Directory.GetFiles($@"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\work", "*.xlsx"); if (files.Length != 0) { XlsxCombiner.SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime(); XlsxCombiner.CombineXlsxFilesFromWorkDir(files); MessageBox.Show("Task completed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk); XlsxTotalFishingDiagramOpener.ShowTotalDiagram(XlsxCombiner.CombinedFile); } else { MessageBox.Show("Finished. No files were processed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk); } Proceed.IsEnabled = true; FileList.Clear(); _files.Clear(); foreach (var file in files) { File.Delete(file); } }