64 lines
4.1 KiB
C#
64 lines
4.1 KiB
C#
using DigitalData.UserManager.Application.MappingProfiles;
|
|
using EnvelopeGenerator.Application.Contracts;
|
|
using EnvelopeGenerator.Application.MappingProfiles;
|
|
using EnvelopeGenerator.Application.Configurations;
|
|
using EnvelopeGenerator.Application.Services;
|
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
|
using EnvelopeGenerator.Infrastructure.Repositories;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace EnvelopeGenerator.Application
|
|
{
|
|
public static class DIExtensions
|
|
{
|
|
public static IServiceCollection AddEnvelopeGenerator(this IServiceCollection services, IConfigurationSection dispatcherConfigSection, IConfigurationSection mailConfigSection)
|
|
{
|
|
//Inject CRUD Service and repositoriesad
|
|
services.AddScoped<IConfigRepository, ConfigRepository>();
|
|
services.AddScoped<IDocumentReceiverElementRepository, DocumentReceiverElementRepository>();
|
|
services.AddScoped<IEnvelopeDocumentRepository, EnvelopeDocumentRepository>();
|
|
services.AddScoped<IConfigRepository, ConfigRepository>();
|
|
services.AddScoped<IDocumentReceiverElementRepository, DocumentReceiverElementRepository>();
|
|
services.AddScoped<IDocumentStatusRepository, DocumentStatusRepository>();
|
|
services.AddScoped<IEmailTemplateRepository, EmailTemplateRepository>();
|
|
services.AddScoped<IEnvelopeRepository, EnvelopeRepository>();
|
|
services.AddScoped<IEnvelopeCertificateRepository, EnvelopeCertificateRepository>();
|
|
services.AddScoped<IEnvelopeDocumentRepository, EnvelopeDocumentRepository>();
|
|
services.AddScoped<IEnvelopeHistoryRepository, EnvelopeHistoryRepository>();
|
|
services.AddScoped<IEnvelopeReceiverRepository, EnvelopeReceiverRepository>();
|
|
services.AddScoped<IEnvelopeTypeRepository, EnvelopeTypeRepository>();
|
|
services.AddScoped<IReceiverRepository, ReceiverRepository>();
|
|
services.AddScoped<IUserReceiverRepository, UserReceiverRepository>();
|
|
services.AddScoped<IEnvelopeReceiverReadOnlyRepository, EnvelopeReceiverReadOnlyRepository>();
|
|
services.AddScoped<IConfigService, ConfigService>();
|
|
services.AddScoped<IDocumentReceiverElementService, DocumentReceiverElementService>();
|
|
services.AddScoped<IEnvelopeDocumentService, EnvelopeDocumentService>();
|
|
services.AddScoped<IEnvelopeHistoryService, EnvelopeHistoryService>();
|
|
services.AddScoped<IDocumentStatusService, DocumentStatusService>();
|
|
services.AddScoped<IEmailTemplateService, EmailTemplateService>();
|
|
services.AddScoped<IEnvelopeService, EnvelopeService>();
|
|
services.AddScoped<IEnvelopeCertificateService, EnvelopeCertificateService>();
|
|
services.AddScoped<IEnvelopeDocumentService, EnvelopeDocumentService>();
|
|
services.AddScoped<IEnvelopeReceiverService, EnvelopeReceiverService>();
|
|
services.AddScoped<IEnvelopeTypeService, EnvelopeTypeService>();
|
|
services.AddScoped<IReceiverService, ReceiverService>();
|
|
services.AddScoped<IUserReceiverService, UserReceiverService>();
|
|
services.AddScoped<IEnvelopeReceiverReadOnlyService, EnvelopeReceiverReadOnlyService>();
|
|
|
|
//Auto mapping profiles
|
|
services.AddAutoMapper(typeof(BasicDtoMappingProfile).Assembly);
|
|
services.AddAutoMapper(typeof(UserMappingProfile).Assembly);
|
|
|
|
services.Configure<DispatcherConfig>(dispatcherConfigSection);
|
|
services.Configure<MailConfig>(mailConfigSection);
|
|
//services.Configure<MailConfig>(mailConfig.GetSection(typeof(MailConfig).ToString()));
|
|
//IConfigurationSection section = builder.Configuration.GetSection(typeof(T).Name);
|
|
return services;
|
|
}
|
|
|
|
public static IServiceCollection AddEnvelopeGenerator(this IServiceCollection services, IConfiguration config) => services.AddEnvelopeGenerator(
|
|
dispatcherConfigSection: config.GetSection(typeof(DispatcherConfig).ToString()),
|
|
mailConfigSection: config.GetSection(typeof(MailConfig).ToString()));
|
|
}
|
|
} |