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:
@@ -1,9 +1,8 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Abstractions.Infrastructure;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||||
|
|
||||||
|
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
||||||
{
|
{
|
||||||
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -3,10 +3,9 @@ using DigitalData.Core.DTO;
|
|||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||||
|
|
||||||
|
public interface IEmailOutService : ICRUDService<EmailOutCreateDto, 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" />
|
<PackageReference Include="DigitalData.Core.Abstractions" Version="3.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="2.0.0" />
|
<PackageReference Include="DigitalData.Core.Abstractions" Version="3.4.0" />
|
||||||
<PackageReference Include="DigitalData.Core.Application" Version="2.0.0" />
|
<PackageReference Include="DigitalData.Core.Application" Version="3.2.0" />
|
||||||
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.0.0" />
|
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.16" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.16" />
|
||||||
|
|||||||
@@ -5,28 +5,27 @@ using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
|||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Services
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Services;
|
||||||
{
|
|
||||||
public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>, IEmailOutService
|
public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOut, int>, IEmailOutService
|
||||||
{
|
{
|
||||||
public EmailOutService(IEmailOutRepository repository, IMapper mapper) : base(repository, mapper)
|
public EmailOutService(IEmailOutRepository repository, IMapper mapper) : base(repository, mapper)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models)
|
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models)
|
||||||
{
|
{
|
||||||
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(models);
|
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(models);
|
||||||
createDto.EmailBody = createDto.EmailBody.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)
|
public async Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, Dictionary<string, string> placeholders, params object[] models)
|
||||||
{
|
{
|
||||||
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(placeholders);
|
createDto.EmailSubj = createDto.EmailSubj.FillTemplate(placeholders);
|
||||||
createDto.EmailBody = createDto.EmailBody.FillTemplate(placeholders);
|
createDto.EmailBody = createDto.EmailBody.FillTemplate(placeholders);
|
||||||
|
|
||||||
return await CreateWithTemplateAsync(createDto, models: models);
|
return await CreateWithTemplateAsync(createDto, models: models);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
||||||
<PackageReference Include="DigitalData.Core.Application" Version="2.0.0" />
|
<PackageReference Include="DigitalData.Core.Application" Version="3.2.0" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
|
||||||
<PackageReference Include="NUnit" Version="3.13.3" />
|
<PackageReference Include="NUnit" Version="3.13.3" />
|
||||||
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
|
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
|
||||||
|
|||||||
Reference in New Issue
Block a user