Compare commits

..

2 Commits

4 changed files with 7 additions and 10 deletions

View File

@@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Mvc;
namespace DigitalData.EmailProfilerGateway.API.Controllers namespace DigitalData.EmailProfilerGateway.API.Controllers
{ {
public class MailController : CRUDControllerBase<IEmailOutService, IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int> public class MailController : CRUDControllerBase<IEmailOutService, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>
{ {
public MailController(ILogger<MailController> logger, IEmailOutService service) : base(logger, service) public MailController(ILogger<MailController> logger, IEmailOutService service) : base(logger, service)
{ {

View File

@@ -6,7 +6,7 @@ using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
namespace DigitalData.EmailProfilerDispatcher.Application.Contracts namespace DigitalData.EmailProfilerDispatcher.Application.Contracts
{ {
public interface IEmailOutService : ICRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int> public interface IEmailOutService : ICRUDService<EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>
{ {
Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models); Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models);
} }

View File

@@ -8,13 +8,13 @@ namespace DigitalData.EmailProfilerDispatcher.Application
{ {
public static class DIExtensions public static class DIExtensions
{ {
public static IServiceCollection AddDispatcher<TDbContext, TResource>(this IServiceCollection services) where TDbContext : DbContext => services public static IServiceCollection AddDispatcher<TDbContext>(this IServiceCollection services) where TDbContext : DbContext => services
.AddDispatcherRepository<TDbContext>() .AddDispatcherRepository<TDbContext>()
.AddAutoMapper(typeof(MappingProfile).Assembly) .AddAutoMapper(typeof(MappingProfile).Assembly)
.AddScoped<IEmailOutService, EmailOutService<TResource>>(); .AddScoped<IEmailOutService, EmailOutService>();
public static IServiceCollection AddDispatcher<TResource>(this IServiceCollection services, Action<DbContextOptionsBuilder> options) => services public static IServiceCollection AddDispatcher<TResource>(this IServiceCollection services, Action<DbContextOptionsBuilder> options) => services
.AddDbContext<DefaultMailDbContext>(options) .AddDbContext<DefaultMailDbContext>(options)
.AddDispatcher<DefaultMailDbContext, TResource>(); .AddDispatcher<DefaultMailDbContext>();
} }
} }

View File

@@ -3,17 +3,14 @@ using DigitalData.Core.Application;
using DigitalData.Core.DTO; using DigitalData.Core.DTO;
using DigitalData.EmailProfilerDispatcher.Application.Contracts; using DigitalData.EmailProfilerDispatcher.Application.Contracts;
using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut; using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut;
using DigitalData.EmailProfilerDispatcher.Domain.Attributes;
using DigitalData.EmailProfilerDispatcher.Domain.Entities; using DigitalData.EmailProfilerDispatcher.Domain.Entities;
using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts; using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
using Microsoft.Extensions.Localization;
using System.Reflection;
namespace DigitalData.EmailProfilerDispatcher.Application.Services namespace DigitalData.EmailProfilerDispatcher.Application.Services
{ {
public class EmailOutService<TResource> : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>, IEmailOutService public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>, IEmailOutService
{ {
public EmailOutService(IEmailOutRepository repository, IStringLocalizer<TResource> localizer, IMapper mapper) : base(repository, localizer, mapper) public EmailOutService(IEmailOutRepository repository, IMapper mapper) : base(repository, mapper)
{ {
} }