public MongoStore( ILogger logger, IConfigurationManager configurationManager, IMongoClient mongoClient, IContainerFacade containerFacade) { var databaseUri = configurationManager.Get <string>("MongoDatabaseUri"); _databaseName = configurationManager.Get <string>("MongoDatabaseName"); try { _amazonKinesisStreamName = configurationManager.Get <string>("RepositoryKinesisStream"); } catch { _amazonKinesisStreamName = null; } try { _dataPumpLambdaName = configurationManager.Get <string>("DataPumpLambdaName"); } catch { _dataPumpLambdaName = null; } _client = mongoClient; _containerFacade = containerFacade; _client.Create(databaseUri); Logger = logger; if (!string.IsNullOrEmpty(_amazonKinesisStreamName)) { _amazonFirehoseProducer = new AmazonFirehoseProducer(logger, configurationManager); } if (!string.IsNullOrEmpty(_dataPumpLambdaName)) { _lambdaDataPump = new LambdaDataPump(logger, _dataPumpLambdaName); } }