Example #1
0
        /// <summary>Конструктор репозитория</summary>
        /// <param name="options">Опции репозитория</param>
        /// <param name="serializer">Расширение данного типа</param>
        /// <param name="parser">Парсер данного типа</param>
        public CsvRepository(ICsvRecordSerializer <T> serializer, CsvRecordParser <T> parser,
                             CsvRepositoryOptions options)
        {
            _recordSerializer = serializer;
            _walSerializer    = new WalEntrySerializer <T>(serializer);
            _walWriter        = new WalWriter(options.WalFileName);
            _parser           = parser;
            _options          = options;

            // Проверка существования CSV файла
            if (!File.Exists(_options.CsvFileName))
            {
                throw new FileNotFoundException($"Файл {_options.CsvFileName} не найден");
            }

            // Запустить записыватель
            _walWriter.Run();
        }
Example #2
0
 public CsvRecordParser(ICsvRecordSerializer <T> serializer)
 {
     _serializer = serializer;
 }