/// <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();
            }
        }
Exemple #3
0
 public void AddImporter(IDatasetImporter importer)
 {
     _importers.Add(importer);
 }