public void SaveChanges() { if (!_fileContentLoaded) { _logger.Debug("No need to save the data, nothing was loaded."); return; } if (_fileContentSaved) { _logger.Debug("No need to save the data, nothing changed since last save."); return; } CreateBackUp( WorkingDirectory, BackupDirectory, _fileName); SaveChanges( CsvLineMarketData.Header, _entities.Select(e => CsvLineMarketData.FormatForCSV(e, _separator, _cultureInfo)), Path.Combine(WorkingDirectory, _fileName), _separator); }
private void LoadWithParser(StreamReader reader) { using (var parser = new TextFieldParser(reader)) { parser.SetDelimiters(_separator); while (!parser.EndOfData) { if (CsvLineMarketData.TryParseFromCsv( parser.ReadFields(), _cultureInfo, out IMarketDataEntity result)) { _entities.Add(result); } } } }