db configuration provider
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using PARR.DAL.Configurations.DbSettings;
|
||||
using PARR.DAL.Context;
|
||||
using PARR.DAL.Contracts;
|
||||
using PARR.DAL.Services;
|
||||
using PARR.DAL.Services.Implementation;
|
||||
using PARR.DAL.Services.Implementations;
|
||||
@@ -15,11 +17,16 @@ namespace PARR.DAL
|
||||
{
|
||||
public static class ParrDalInstaller
|
||||
{
|
||||
/// <summary>
|
||||
/// Устанавливает Dal сервисы (1)
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void InstallDalServices(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.AddDbContext<DataContext>(opt =>
|
||||
opt.UseNpgsql(configuration.GetConnectionString("DefaultConnection"))
|
||||
);
|
||||
);
|
||||
|
||||
services.AddTransient<V1_IHostService, V1_HostService>();
|
||||
services.AddTransient<IHostService, HostService>();
|
||||
@@ -36,5 +43,34 @@ namespace PARR.DAL
|
||||
services.AddTransient<ITemplateService, TemplateService>();
|
||||
services.AddTransient<IStatusTemplateService, StatusTemplateService>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет конфигурацию Dal (2)
|
||||
/// </summary>
|
||||
/// <param name="builder"></param>
|
||||
/// <param name="services"></param>
|
||||
/// <returns></returns>
|
||||
public static IConfigurationBuilder AddDalConfigurations(this IConfigurationBuilder builder, IServiceCollection services)
|
||||
{
|
||||
builder.Add(new DBConfigurationSource(services));
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Добавляет конфигурацию в сервисы (3)
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void AddDallSettings(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
//SettingsFromDb configuration
|
||||
var settingsFromDb = new SettingsFromDb();
|
||||
configuration.GetSection(nameof(SettingsFromDb)).Bind(settingsFromDb);
|
||||
services.AddSingleton(settingsFromDb);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user