private void SaveSourceFile(SortableBindingList <DataItem> data) { if (!data.Any()) { MessageBox.Show("Отсутствуют данные для сохранения.", "XDataConv", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!String.IsNullOrEmpty(_openSourceFileDialog.FileName)) { _saveSourceFileDialog.InitialDirectory = Path.GetDirectoryName(_openSourceFileDialog.FileName); } if (_saveSourceFileDialog.ShowDialog() != DialogResult.OK) { return; } try { var fileManager = new CsvFileManager(_logger); fileManager.WriteToFile(_saveSourceFileDialog.FileName, data); MessageBox.Show($"Данные сохранены в файл {_saveSourceFileDialog.FileName}.", "XDataConv", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { _logger.Error($"Error writing file {_saveSourceFileDialog.FileName}", ex); MessageBox.Show($"Ошибка сохранения файла {_saveSourceFileDialog.FileName}.{Environment.NewLine}{ex.Message}", "XDataConv", MessageBoxButtons.OK, MessageBoxIcon.Error); } }