using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using PARR.BLL; using PARR.DAL; using PARR.EsppApi; using PARR.EsppOrderManager.Services; using PARR.EsppOrderManager.Settings; namespace PARR.EsppOrderManager { public static class ParrEsppOrderManagerInstaller { public static void InstallEsppOrderManagerServices(this IServiceCollection services, IConfiguration configuration) { services.InstallBllServices(configuration); services.InstallDalServices(configuration); services.InstallEsppApiServices(configuration); var mqSettings = new MqSettings(); configuration.GetSection(nameof(MqSettings)).Bind(mqSettings); services.AddSingleton(mqSettings); var esppPoligonSettings = new EsppPoligonSettings(); configuration.GetSection(nameof(EsppPoligonSettings)).Bind(esppPoligonSettings); services.AddSingleton(esppPoligonSettings); var resultTemplateSettings = new ResultTemplateSettings(); configuration.GetSection(nameof(ResultTemplateSettings)).Bind(resultTemplateSettings); services.AddSingleton(resultTemplateSettings); services.AddTransient(); services.AddTransient(); } public static IConfigurationBuilder AddEsppOrderManagerConfigurations(this IConfigurationBuilder builder, IServiceCollection services) { builder.AddDalConfigurations(services); return builder; } public static void AddEsppOrderManagerSettings(this IServiceCollection services, IConfiguration configuration) { services.AddDallSettings(configuration); } } }