- Repository-Schnittstellen wurden in die Anwendungsschicht verschoben. - Erweiterungsmethoden für die Injektion von Repository-Abhängigkeiten wurden in die Infrastruktur verschoben.
29 lines
1.2 KiB
C#
29 lines
1.2 KiB
C#
using AutoMapper;
|
|
using DigitalData.Core.Application;
|
|
using EnvelopeGenerator.Application.DTOs;
|
|
using EnvelopeGenerator.Domain.Entities;
|
|
using EnvelopeGenerator.Application.Contracts.Repositories;
|
|
using static EnvelopeGenerator.Common.Constants;
|
|
using DigitalData.Core.DTO;
|
|
using Microsoft.Extensions.Logging;
|
|
using EnvelopeGenerator.Application.Contracts.Services;
|
|
|
|
namespace EnvelopeGenerator.Application.Services;
|
|
|
|
public class EmailTemplateService : BasicCRUDService<IEmailTemplateRepository, EmailTemplateDto, EmailTemplate, int>, IEmailTemplateService
|
|
{
|
|
public EmailTemplateService(IEmailTemplateRepository repository, IMapper mapper)
|
|
: base(repository, mapper)
|
|
{
|
|
}
|
|
|
|
public async Task<DataResult<EmailTemplateDto>> ReadByNameAsync(EmailTemplateType type)
|
|
{
|
|
var temp = await _repository.ReadByNameAsync(type);
|
|
return temp is null
|
|
? Result.Fail<EmailTemplateDto>()
|
|
.Message(Key.InnerServiceError)
|
|
.Notice(LogLevel.Error, Flag.DataIntegrityIssue, $"EmailTemplateType '{type}' is not found in DB. Please, define required e-mail template.")
|
|
: Result.Success(_mapper.Map<EmailTemplateDto>(temp));
|
|
}
|
|
} |