Files
FACULTATE-HEALTHCARE_MANAGER/backend/Infrastructure/InfrastructureDI.cs
T

34 lines
1.2 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Infrastructure.Data;
using Infrastructure.Services.PostgreSQL;
using Application.Contracts.Database;
using Infrastructure.Services.MongoDB;
namespace Infrastructure
{
public static class DependencyInjection
{
public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration)
{
services.AddDbContext<HealthcareManagerContext>(options =>
options.UseNpgsql(configuration.GetConnectionString("HealthcareManagerDatabase")));
services.AddScoped<IPacientRepository, PacientRepository>();
services.AddScoped<IDoctorRepository, DoctorRepository>();
services.AddScoped<IMedicalHistoryRepository, MedicalHistoryRepository>();
var mongoDbConnection = configuration.GetConnectionString("MongoDBDatabase");
services.AddSingleton(serviceProvider => new MongoDbService(mongoDbConnection));
// services.AddScoped<IEmailService, EmailService>();
return services;
}
}
}