diff --git a/SchengenVisaApi/Infrastructure/DependencyInjection.cs b/SchengenVisaApi/Infrastructure/DependencyInjection.cs new file mode 100644 index 0000000..7b1ef0f --- /dev/null +++ b/SchengenVisaApi/Infrastructure/DependencyInjection.cs @@ -0,0 +1,33 @@ +using Infrastructure.Database; +using Infrastructure.Database.Applicants.Repositories; +using Infrastructure.Database.Generic; +using Infrastructure.Database.Locations.Repositories.Cities; +using Infrastructure.Database.Locations.Repositories.Countries; +using Infrastructure.Database.VisaApplications.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using DbContext = Infrastructure.Database.DbContext; + +namespace Infrastructure +{ + public static class DependencyInjection + { + public static IServiceCollection AddInfrastructure(this IServiceCollection services) + { + //TODO строка подключения + services.AddDbContext(opts => + opts.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=visadb;Integrated Security=True;")); + + services.AddScoped(serviceProvider => serviceProvider.GetRequiredService()); + services.AddScoped(serviceProvider => serviceProvider.GetRequiredService()); + services.AddScoped(serviceProvider => serviceProvider.GetRequiredService()); + + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + return services; + } + } +} diff --git a/SchengenVisaApi/Infrastructure/Infrastructure.csproj b/SchengenVisaApi/Infrastructure/Infrastructure.csproj index 9d49b38..41497f6 100644 --- a/SchengenVisaApi/Infrastructure/Infrastructure.csproj +++ b/SchengenVisaApi/Infrastructure/Infrastructure.csproj @@ -13,6 +13,7 @@ + diff --git a/SchengenVisaApi/SchengenVisaApi/DependencyInjection.cs b/SchengenVisaApi/SchengenVisaApi/DependencyInjection.cs index 44220a0..8aec8b8 100644 --- a/SchengenVisaApi/SchengenVisaApi/DependencyInjection.cs +++ b/SchengenVisaApi/SchengenVisaApi/DependencyInjection.cs @@ -1,4 +1,5 @@ using System.Reflection; +using Infrastructure; namespace SchengenVisaApi { @@ -7,6 +8,15 @@ namespace SchengenVisaApi { /// Add needed services public static IServiceCollection RegisterServices(this IServiceCollection services) + { + services + .AddPresentation() + .AddInfrastructure(); + + return services; + } + + private static IServiceCollection AddPresentation(this IServiceCollection services) { services.AddControllers(); services.AddEndpointsApiExplorer(); diff --git a/SchengenVisaApi/SchengenVisaApi/SchengenVisaApi.csproj b/SchengenVisaApi/SchengenVisaApi/SchengenVisaApi.csproj index ffd8dc9..6d4c558 100644 --- a/SchengenVisaApi/SchengenVisaApi/SchengenVisaApi.csproj +++ b/SchengenVisaApi/SchengenVisaApi/SchengenVisaApi.csproj @@ -14,6 +14,7 @@ +