using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using CMSMicroservice.Application.Common.Interfaces; using CMSMicroservice.Infrastructure.Persistence; using CMSMicroservice.Infrastructure.Services; namespace CMSMicroservice.Infrastructure; /// /// کلاس تزریق وابستگی برای لایه Infrastructure /// public static class DependencyInjection { /// /// افزودن سرویس های Infrastructure به DI Container /// /// IServiceCollection /// IConfiguration /// IServiceCollection public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration) { // Database Configuration services.AddDbContext(options => options.UseSqlServer( configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly(typeof(ApplicationDbContext).Assembly.FullName))); // Application Context Interface services.AddScoped(provider => provider.GetRequiredService()); // Business Services services.AddScoped(); return services; } }