17 lines
856 B
C#

using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
using DigitalData.EmailProfilerDispatcher.Infrastructure.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
namespace DigitalData.EmailProfilerDispatcher.Infrastructure
{
public static class DIExtensions
{
public static IServiceCollection AddDispatcherRepository<TDbContext>(this IServiceCollection services) where TDbContext : DbContext => services
.AddScoped<IEmailOutRepository, EmailOutRepository<TDbContext>>();
public static IServiceCollection AddDispatcherRepository(this IServiceCollection services, Action<DbContextOptionsBuilder> optionsAction) => services
.AddDbContext<DefaultMailDbContext>(optionsAction)
.AddDispatcherRepository<DefaultMailDbContext>();
}
}