/// <summary> /// Initializes a new instance of the <see cref="DbImporter"/> class. /// </summary> /// <param name="dbWriter">The database writer - an object which implements <see cref="IDbWriter"/> interface.</param> /// <param name="datasetImporter">The dataset importer - knows how to read one dataset data stored in a particular format.</param> /// <param name="unpacker">The unpacker - knows how to find the data for a particular dataset "packed" in "archive".</param> /// <param name="loggerFactory">The logger factory.</param> public DbImporter(IDbWriter dbWriter, IDatasetImporter datasetImporter, IDataUnpacker unpacker, ILoggerFactory loggerFactory = null) { _dbWriter = dbWriter; _datasetImporter = datasetImporter; _dataUnpacker = unpacker; _logger = loggerFactory?.CreateLogger("Korzh.DbUtils"); }
/// <summary> /// Stores the content of some dataset (table) to the list. /// </summary> /// <param name="importer">The importer.</param> /// <param name="inputStream">The input stream.</param> /// <param name="outputList">The output list.</param> public static void ImportToList(this IDatasetImporter importer, Stream inputStream, IList <DataRecord> outputList) { DataRecord record = null; try { var dataInfo = importer.StartImport(inputStream); while (importer.HasRecords()) { record = (DataRecord)importer.NextRecord(); outputList.Add(record); } } finally { importer.FinishImport(); } }
public void AddImporter(IDatasetImporter importer) { _importers.Add(importer); }