private void AddDbContexts(IServiceCollection services)
        {
            //services.AddDbContext<BatchesContext>(opt =>
            //	opt.UseInMemoryDatabase("Batches"));

            services
            .AddEntityFrameworkNpgsql()
            .AddDbContext <BatchesContext>(
                options =>
            {
                options.UseNpgsql(Configuration["DB_CONNECTION_STRING"]);
                options.EnableDetailedErrors();
            });

            services.AddTransient <IBatchSubmissionService, BatchSubmissionService>();
            services.AddTransient <IBatchSubmissionFeedbackService, BatchSubmissionFeedbackService>();
            services.AddTransient <IBatchVettingService, BatchVettingService>();

            var objectsStorageServiceConfiguration = new ObjectsStorageServiceConfiguration();

            Configuration.Bind("ObjectsStorage", objectsStorageServiceConfiguration);
            services.AddSingleton <IObjectsStorageServiceConfiguration>(objectsStorageServiceConfiguration);
            services.AddTransient <IObjectsStorageService, ObjectsStorageService>();
            services.AddTransient <IMinioClientFactory, MinioClientFactory>();

            services.Configure <AppConfig>(Configuration);
        }
Example #2
0
        private void AddConfiguration(IServiceCollection services)
        {
            var queueConfiguration = new RabbitMqTopologyConfiguration();

            Configuration.Bind("RabbitMqTopology", queueConfiguration);
            services.AddSingleton <IRabbitMqTopologyConfiguration>(queueConfiguration);

            var objectsStorageServiceConfiguration = new ObjectsStorageServiceConfiguration();

            Configuration.Bind("ObjectsStorage", objectsStorageServiceConfiguration);
            services.AddSingleton <IObjectsStorageServiceConfiguration>(objectsStorageServiceConfiguration);
        }