-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
InfrastructureServiceRegistration.cs
29 lines (25 loc) · 1.17 KB
/
InfrastructureServiceRegistration.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Ordering.Application.Contracts.Infrastructure;
using Ordering.Application.Contracts.Persistence;
using Ordering.Application.Models;
using Ordering.Infrastructure.Mail;
using Ordering.Infrastructure.Persistence;
using Ordering.Infrastructure.Repositories;
namespace Ordering.Infrastructure
{
public static class InfrastructureServiceRegistration
{
public static IServiceCollection AddInfrastructureServices(this IServiceCollection services, IConfiguration configuration)
{
services.AddDbContext<OrderContext>(options =>
options.UseSqlServer(configuration.GetConnectionString("OrderingConnectionString")));
services.AddScoped(typeof(IAsyncRepository<>), typeof(RepositoryBase<>));
services.AddScoped<IOrderRepository, OrderRepository>();
services.Configure<EmailSettings>(c => configuration.GetSection("EmailSettings"));
services.AddTransient<IEmailService, EmailService>();
return services;
}
}
}