ReadByName in EmailTemplate Repositroy und Dienst hinzugefügt.
This commit is contained in:
parent
2e66129485
commit
bc6972bcfb
@ -1,11 +1,14 @@
|
|||||||
using DigitalData.Core.Contracts.Application;
|
using DigitalData.Core.Contracts.Application;
|
||||||
|
using DigitalData.Core.DTO;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||||
|
using static EnvelopeGenerator.Common.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Contracts
|
namespace EnvelopeGenerator.Application.Contracts
|
||||||
{
|
{
|
||||||
public interface IEmailTemplateService : IBasicCRUDService<IEmailTemplateRepository, EmailTemplateDto, EmailTemplate, int>
|
public interface IEmailTemplateService : IBasicCRUDService<IEmailTemplateRepository, EmailTemplateDto, EmailTemplate, int>
|
||||||
{
|
{
|
||||||
|
Task<DataResult<EmailTemplateDto>> ReadByNameAsync(EmailTemplateType type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2,16 +2,17 @@
|
|||||||
{
|
{
|
||||||
public static class Key
|
public static class Key
|
||||||
{
|
{
|
||||||
public static readonly string EnvelopeNotFound = "EnvelopeNotFound";
|
public static readonly string InnerServiceError = nameof(InnerServiceError);
|
||||||
public static readonly string EnvelopeReceiverNotFound = "EnvelopeReceiverNotFound";
|
public static readonly string EnvelopeNotFound = nameof(EnvelopeNotFound);
|
||||||
public static readonly string AccessCodeNull = "AccessCodeNull";
|
public static readonly string EnvelopeReceiverNotFound = nameof(EnvelopeReceiverNotFound);
|
||||||
public static readonly string WrongAccessCode = "WrongAccessCode";
|
public static readonly string AccessCodeNull = nameof(AccessCodeNull);
|
||||||
public static readonly string DataIntegrityIssue = "DataIntegrityIssue";
|
public static readonly string WrongAccessCode = nameof(WrongAccessCode);
|
||||||
public static readonly string SecurityBreachOrDataIntegrity = "SecurityBreachOrDataIntegrity";
|
public static readonly string DataIntegrityIssue = nameof(DataIntegrityIssue);
|
||||||
public static readonly string PossibleDataIntegrityIssue = "PossibleDataIntegrityIssue";
|
public static readonly string SecurityBreachOrDataIntegrity = nameof(SecurityBreachOrDataIntegrity);
|
||||||
public static readonly string SecurityBreach = "SecurityBreach";
|
public static readonly string PossibleDataIntegrityIssue = nameof(PossibleDataIntegrityIssue);
|
||||||
public static readonly string PossibleSecurityBreach = "PossibleSecurityBreach";
|
public static readonly string SecurityBreach = nameof(SecurityBreach);
|
||||||
public static readonly string WrongEnvelopeReceiverId = "WrongEnvelopeReceiverId";
|
public static readonly string PossibleSecurityBreach = nameof(PossibleSecurityBreach);
|
||||||
public static readonly string EnvelopeOrReceiverNonexists = "EnvelopeOrReceiverNonexists";
|
public static readonly string WrongEnvelopeReceiverId = nameof(WrongEnvelopeReceiverId);
|
||||||
|
public static readonly string EnvelopeOrReceiverNonexists = nameof(EnvelopeOrReceiverNonexists);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6,6 +6,9 @@ using EnvelopeGenerator.Application.DTOs;
|
|||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||||
using EnvelopeGenerator.Application.Resources;
|
using EnvelopeGenerator.Application.Resources;
|
||||||
|
using static EnvelopeGenerator.Common.Constants;
|
||||||
|
using DigitalData.Core.DTO;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Application.Services
|
namespace EnvelopeGenerator.Application.Services
|
||||||
{
|
{
|
||||||
@ -15,5 +18,15 @@ namespace EnvelopeGenerator.Application.Services
|
|||||||
: base(repository, localizer, mapper)
|
: base(repository, localizer, 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.MapOrThrow<EmailTemplateDto>(temp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,9 +1,11 @@
|
|||||||
using DigitalData.Core.Contracts.Infrastructure;
|
using DigitalData.Core.Contracts.Infrastructure;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
|
using static EnvelopeGenerator.Common.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Infrastructure.Contracts
|
namespace EnvelopeGenerator.Infrastructure.Contracts
|
||||||
{
|
{
|
||||||
public interface IEmailTemplateRepository : ICRUDRepository<EmailTemplate, int>
|
public interface IEmailTemplateRepository : ICRUDRepository<EmailTemplate, int>
|
||||||
{
|
{
|
||||||
|
Task<EmailTemplate?> ReadByNameAsync(EmailTemplateType type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2,6 +2,8 @@
|
|||||||
using DigitalData.UserManager.Infrastructure.Repositories;
|
using DigitalData.UserManager.Infrastructure.Repositories;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using static EnvelopeGenerator.Common.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Infrastructure.Repositories
|
namespace EnvelopeGenerator.Infrastructure.Repositories
|
||||||
{
|
{
|
||||||
@ -10,5 +12,7 @@ namespace EnvelopeGenerator.Infrastructure.Repositories
|
|||||||
public EmailTemplateRepository(EGDbContext dbContext) : base(dbContext)
|
public EmailTemplateRepository(EGDbContext dbContext) : base(dbContext)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<EmailTemplate?> ReadByNameAsync(EmailTemplateType type) => await _dbSet.Where(t => t.Name == type.ToString()).FirstOrDefaultAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,7 +1,11 @@
|
|||||||
using EnvelopeGenerator.Application.Contracts;
|
using DigitalData.Core.DTO;
|
||||||
|
using EnvelopeGenerator.Application.Contracts;
|
||||||
using EnvelopeGenerator.Application.DTOs;
|
using EnvelopeGenerator.Application.DTOs;
|
||||||
using EnvelopeGenerator.Domain.Entities;
|
using EnvelopeGenerator.Domain.Entities;
|
||||||
using EnvelopeGenerator.Infrastructure.Contracts;
|
using EnvelopeGenerator.Infrastructure.Contracts;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
using static EnvelopeGenerator.Common.Constants;
|
||||||
|
|
||||||
namespace EnvelopeGenerator.Web.Controllers.Test
|
namespace EnvelopeGenerator.Web.Controllers.Test
|
||||||
{
|
{
|
||||||
@ -9,7 +13,23 @@ namespace EnvelopeGenerator.Web.Controllers.Test
|
|||||||
{
|
{
|
||||||
public TestEmailTemplateController(ILogger<TestEmailTemplateController> logger, IEmailTemplateService service) : base(logger, service)
|
public TestEmailTemplateController(ILogger<TestEmailTemplateController> logger, IEmailTemplateService service) : base(logger, service)
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
}
|
[HttpGet]
|
||||||
|
public virtual async Task<IActionResult> GetAll([FromQuery] string? tempType = null)
|
||||||
|
{
|
||||||
|
return tempType is null
|
||||||
|
? await base.GetAll()
|
||||||
|
: await _service.ReadByNameAsync((EmailTemplateType)Enum.Parse(typeof(EmailTemplateType), tempType)).ThenAsync(
|
||||||
|
Success: Ok,
|
||||||
|
Fail: IActionResult (messages, notices) =>
|
||||||
|
{
|
||||||
|
_logger.LogNotice(notices);
|
||||||
|
return NotFound(messages);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
public override Task<IActionResult> GetAll() => base.GetAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user