public GenericDataMigrator(ILogger logger, IDataStoreReader <TMigrationEntity, TMigrationEntityWrapper> storeReader, IDataStoreWriter <TMigrationEntity, TMigrationEntityWrapper> storeWriter)
        {
            logger.ThrowIfNull <ArgumentNullException>(nameof(logger));
            storeReader.ThrowIfNull <ArgumentNullException>(nameof(storeReader));
            storeWriter.ThrowIfNull <ArgumentNullException>(nameof(storeWriter));

            this.storeReader = storeReader;
            this.storeWriter = storeWriter;
            this.Logger      = logger;

            cancellationToken = new CancellationTokenSource().Token;
            processors        = new List <IEntityProcessor <TMigrationEntity, TMigrationEntityWrapper> >();
        }
 public ScenariosService(IOptions <TestDataSettings> testDataSettingsOptions,
                         IOptions <ScenariosSettings> scenariosSettingsOptions,
                         IScenariosFactory scenariosFactory,
                         IScenariosDataBuilder scenariosDataBuilder,
                         IScenarioScriptFileWriter scenarioTextGenerator,
                         IDataFileWriter dataFileWriter,
                         IDataStoreWriter dataStoreWriter)
 {
     this.testDataSettings      = testDataSettingsOptions.Value;
     this.scenariosSettings     = scenariosSettingsOptions.Value;
     this.scenariosFactory      = scenariosFactory;
     this.scenariosDataBuilder  = scenariosDataBuilder;
     this.scenarioTextGenerator = scenarioTextGenerator;
     this.dataFileWriter        = dataFileWriter;
     this.dataStoreWriter       = dataStoreWriter;
 }
            public void Commit()
            {
                try
                {
                    using (IDataStoreWriter writer = GetIDataStoreWriter())
                    {
                        foreach (Study study in _studiesToUpdateInXml.Values)
                        {
                            study.Flush();
                        }

                        writer.StoreStudies(_studiesToUpdateInDatastore.Values);
                    }
                }
                catch (Exception e)
                {
                    throw new DataStoreException("Failed to commit files to data store.", e);
                }
                finally
                {
                    ClearCache();
                }
            }
 public GenericDataMigrator(ILogger logger, IDataStoreReader <TMigrationEntity, TMigrationEntityWrapper> storeReader, IDataStoreWriter <TMigrationEntity, TMigrationEntityWrapper> storeWriter, CancellationToken cancellationToken)
     : this(logger, storeReader, storeWriter)
 {
     this.cancellationToken = cancellationToken;
 }
 public GenericCrmDataMigrator(ILogger logger, IDataStoreReader <Entity, EntityWrapper> storeReader, IDataStoreWriter <Entity, EntityWrapper> storeWriter)
     : base(logger, storeReader, storeWriter)
 {
 }
 public GenericCrmDataMigrator(ILogger logger, IDataStoreReader <Entity, EntityWrapper> storeReader, IDataStoreWriter <Entity, EntityWrapper> storeWriter, CancellationToken cancellationToken)
     : base(logger, storeReader, storeWriter, cancellationToken)
 {
 }