Ejemplo n.º 1
0
        public static void AddApplicationOptions(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddDbContext <AppContext>(options =>
                                               options.UseNpgsql(configuration["ConnectionString"]));

            services.AddMailKit(optionBuilder =>
            {
                optionBuilder.UseMailKit(
                    configuration
                    .GetSection("MailKitConfig")
                    .Get <MailKitOptions>());
            });

            services.AddSingleton(
                configuration
                .GetSection("ObjectStorageConfig")
                .Get <ObjectStorageConfig>());
            var setup = new ObjectStorageConfig();

            configuration.Bind("ObjectStorageConfig", setup);

            services.AddScoped <IObjectStorageService, ObjectStorageService>(provider =>
            {
                var config = new AmazonS3Config
                {
                    ServiceURL     = setup.ServiceUrl,
                    ForcePathStyle = true
                };
                var client = new AmazonS3Client(setup.AccessKey, setup.SecretKey, config);
                var logger = provider.GetRequiredService <ILogger <ObjectStorageService> >();
                return(new ObjectStorageService(client, logger));
            });
        }
Ejemplo n.º 2
0
 public SubdivisionUseCases(
     SubdivisionRepository subdivisionRepository,
     ObjectStorageConfig config,
     IEditorManager editorManager,
     IFileUseCases fileUseCases,
     INotificationUseCases notificationUseCases,
     IExhibitUseCases exhibitUseCases)
 {
     _subdivisionRepository = subdivisionRepository;
     _config               = config;
     _editorManager        = editorManager;
     _fileUseCases         = fileUseCases;
     _notificationUseCases = notificationUseCases;
     _exhibitUseCases      = exhibitUseCases;
 }