using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using PARR.AIHITRelationshipsSyncer.Context; using PARR.AIHITRelationshipsSyncer.Services.Implementations; using PARR.AIHITRelationshipsSyncer.Services.Interfaces; using PARR.AIHITRelationshipsSyncer.Settings; using PARR.BLL; using PARR.DAL; namespace PARR.AIHITRelationshipsSyncer { public static class AihitRelationshpsSyncerInstaller { public static void InstallAihitRelationshpsSyncerServices(this IServiceCollection services, IConfiguration configuration) { services.InstallBllServices(configuration); services.InstallDalServices(configuration); var settings = new WorkerSettings(); configuration.GetSection(nameof(WorkerSettings)).Bind(settings); services.AddSingleton(settings); services.AddDbContext(options => options.UseSqlServer( configuration.GetConnectionString("AihitConnection"), sqlServerOptions => sqlServerOptions.CommandTimeout(1800) )); services.AddTransient(); services.AddTransient(); services.AddTransient(); } public static IConfigurationBuilder AddAihitRelationshpsSyncerConfigurations(this IConfigurationBuilder builder, IServiceCollection services) { builder.AddDalConfigurations(services); return builder; } public static void AddAihitRelationshpsSyncerSettings(this IServiceCollection services, IConfiguration configuration) { services.AddDallSettings(configuration); } } }