Files
parr_api/PARR.AIHITRelationshipsSyncer/AihitRelationshpsSyncerInstaller.cs
2026-04-14 12:23:44 +10:00

52 lines
1.9 KiB
C#

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.Core;
using PARR.DAL;
namespace PARR.AIHITRelationshipsSyncer
{
public static class AihitRelationshpsSyncerInstaller
{
public static void InstallAihitRelationshpsSyncerServices(this IServiceCollection services, IConfiguration configuration)
{
services.InstallBllServices(configuration);
services.AddCoreServices(configuration);
services.InstallDalServices(configuration);
var settings = new WorkerSettings();
configuration.GetSection(nameof(WorkerSettings)).Bind(settings);
services.AddSingleton(settings);
services.AddDbContext<AIHITContext>(options =>
options.UseSqlServer(
configuration.GetConnectionString("AihitConnection"),
sqlServerOptions => sqlServerOptions.CommandTimeout(1800)
));
services.AddTransient<IRelationshipsSyncer, RelationshipsSyncer>();
services.AddTransient<IAihitService, AihitService>();
services.AddTransient<IRelationshipsSyncService, RelationshipsSyncService>();
}
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);
}
}
}