Add EmailOut components: entity, DTO, repository, and services

- Introduced EmailOut and EmailOutDto for data management.
- Added EmailOutRepository and service interfaces based on CRUD patterns.
This commit is contained in:
Developer 02
2024-04-16 16:25:55 +02:00
parent f7b11e3427
commit f2e718565d
9 changed files with 174 additions and 2 deletions

View File

@@ -0,0 +1,11 @@
using DigitalData.Core.Contracts.Application;
using EnvelopeGenerator.Application.DTOs;
using EnvelopeGenerator.Domain.Entities;
using EnvelopeGenerator.Infrastructure.Contracts;
namespace EnvelopeGenerator.Application.Contracts
{
public interface IEmailOutService : IBasicCRUDService<IEmailOutRepository, EmailOutDto, EmailOut, int>
{
}
}

View File

@@ -0,0 +1,25 @@
namespace EnvelopeGenerator.Application.DTOs
{
public record EmailOutDto(
int Guid,
int ReminderTypeId,
int SendingProfile,
int ReferenceId,
string? ReferenceString,
int? EntityId,
int WfId,
string? WfReference,
string EmailAdress,
string EmailSubj,
string EmailBody,
string? EmailAttmt1,
DateTime? EmailSent,
string? Comment,
string AddedWho,
DateTime? AddedWhen,
string? ChangedWho,
DateTime? ChangedWhen,
DateTime? ErrorTimestamp,
string? ErrorMsg
);
}

View File

@@ -21,6 +21,7 @@ namespace EnvelopeGenerator.Application.MappingProfiles
CreateMap<EnvelopeType, EnvelopeTypeDto>();
CreateMap<Receiver, ReceiverDto>();
CreateMap<UserReceiver, UserReceiverDto>();
CreateMap<EmailOut, EmailOutDto>();
// DTO to Entity mappings
CreateMap<ConfigDto, Config>();
@@ -35,6 +36,7 @@ namespace EnvelopeGenerator.Application.MappingProfiles
CreateMap<EnvelopeTypeDto, EnvelopeType>();
CreateMap<ReceiverDto, Receiver>();
CreateMap<UserReceiverDto, UserReceiver>();
CreateMap<EmailOutDto, EmailOut>();
}
}
}

View File

@@ -0,0 +1,17 @@
using AutoMapper;
using DigitalData.Core.Application;
using DigitalData.Core.Contracts.CultureServices;
using EnvelopeGenerator.Application.Contracts;
using EnvelopeGenerator.Application.DTOs;
using EnvelopeGenerator.Domain.Entities;
using EnvelopeGenerator.Infrastructure.Contracts;
namespace EnvelopeGenerator.Application.Services
{
public class EmailOutService : BasicCRUDService<IEmailOutRepository, EmailOutDto, EmailOut, int>, IEmailOutService
{
public EmailOutService(IEmailOutRepository repository, IKeyTranslationService translationService, IMapper mapper) : base(repository, translationService, mapper)
{
}
}
}