Refactor email repository and service interfaces

- Die Schnittstelle `IEmailOutRepository` wurde durch Entfernen unnötiger Klammern gestrafft.
- Aktualisierte `IEmailOutService` Schnittstelle, um generische Parameter zu korrigieren und Redundanz zu entfernen.
- Aktualisierte Paketversionen in Projektdateien auf `DigitalData.Core.Abstractions` (3.4.0) und `DigitalData.Core.Application` (3.2.0).
- Verbesserte `CreateWithTemplateAsync` Methoden in `EmailOutService.cs` für bessere Implementierung.
- Das Testprojekt wurde aktualisiert, um die neue Paketversion für `DigitalData.Core.Application` zu berücksichtigen.
This commit is contained in:
Developer 02
2025-04-14 16:38:52 +02:00
parent 211a63d70e
commit b953e3afaa
6 changed files with 26 additions and 29 deletions

View File

@@ -17,8 +17,8 @@
<ItemGroup>
<PackageReference Include="AutoMapper" Version="13.0.1" />
<PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" />
<PackageReference Include="DigitalData.Core.Application" Version="2.0.0" />
<PackageReference Include="DigitalData.Core.Abstractions" Version="3.4.0" />
<PackageReference Include="DigitalData.Core.Application" Version="3.2.0" />
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.16" />

View File

@@ -5,28 +5,27 @@ using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Services
{
public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>, IEmailOutService
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Services;
public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOut, int>, IEmailOutService
{
public EmailOutService(IEmailOutRepository repository, IMapper mapper) : base(repository, mapper)
{
}
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models)
{
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(models);
createDto.EmailBody = createDto.EmailBody.FillTemplate(models);
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models)
{
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(models);
createDto.EmailBody = createDto.EmailBody.FillTemplate(models);
return await base.CreateAsync(createDto);
}
return await base.CreateAsync(createDto);
}
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, Dictionary<string, string> placeholders, params object[] models)
{
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(placeholders);
createDto.EmailBody = createDto.EmailBody.FillTemplate(placeholders);
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, Dictionary<string, string> placeholders, params object[] models)
{
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(placeholders);
createDto.EmailBody = createDto.EmailBody.FillTemplate(placeholders);
return await CreateWithTemplateAsync(createDto, models: models);
}
return await CreateWithTemplateAsync(createDto, models: models);
}
}