public RecommendationsController( IConfiguration configuration, IQueuedRecommendationStorage storage, IRecommendationQueue queue = null, IQueueHandler handler = null, ILogger <RecommendationsController> logger = null) { _storage = storage; _queue = queue is null ? new RecommendationQueue(_storage) : queue; if (handler is null) { var optionsBuilder = new DbContextOptionsBuilder <Database.DatabaseContext>(); optionsBuilder.UseSqlServer(configuration["DatabaseConnectionString"]); _handler = QueueHandler.GetOrCreate(optionsBuilder.Options, configuration, _queue, _storage, logger); } else { _handler = handler; } }