Die Infrastrukturschicht wurde mit der Anwendungsschicht zusammengeführt, um das Projekt zu vereinfachen, und Abstraktion wurde hinzugefügt.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Domain.Attributes
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Attributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class TemplatePlaceholderAttribute : Attribute
|
||||
@@ -1,7 +1,7 @@
|
||||
using DigitalData.Core.Abstractions.Infrastructure;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
||||
{
|
||||
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
||||
{
|
||||
@@ -1,9 +1,9 @@
|
||||
using DigitalData.Core.Abstractions.Application;
|
||||
using DigitalData.Core.DTO;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application.Contracts
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
||||
{
|
||||
public interface IEmailOutService : ICRUDService<EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut
|
||||
{
|
||||
public record EmailOutCreateDto
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut
|
||||
{
|
||||
public record EmailOutDto(
|
||||
int Id,
|
||||
@@ -7,7 +7,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.0" />
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Domain.Entities
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
||||
{
|
||||
[Table("TBEMLP_EMAIL_OUT")]
|
||||
public class EmailOut
|
||||
@@ -1,6 +1,6 @@
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Services;
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Repositories;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace DigitalData.EmailProfilerDispatcher.Application
|
||||
public static class DIExtensions
|
||||
{
|
||||
public static IServiceCollection AddDispatcher<TDbContext>(this IServiceCollection services) where TDbContext : DbContext => services
|
||||
.AddDispatcherRepository<TDbContext>()
|
||||
.AddScoped<IEmailOutRepository, EmailOutRepository<TDbContext>>()
|
||||
.AddAutoMapper(typeof(MappingProfile).Assembly)
|
||||
.AddScoped<IEmailOutService, EmailOutService>();
|
||||
|
||||
@@ -17,4 +17,4 @@ namespace DigitalData.EmailProfilerDispatcher.Application
|
||||
.AddDbContext<DefaultMailDbContext>(options)
|
||||
.AddDispatcher<DefaultMailDbContext>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Infrastructure
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application
|
||||
{
|
||||
public class DefaultMailDbContext : DbContext
|
||||
{
|
||||
@@ -8,15 +8,17 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.0" />
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.1.1" />
|
||||
<PackageReference Include="DigitalData.Core.Application" Version="1.0.0" />
|
||||
<PackageReference Include="DigitalData.Core.Infrastructure" Version="1.0.1.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.16" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="7.0.19" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="7.0.19" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Domain\DigitalData.EmailProfilerDispatcher.Domain.csproj" />
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Infrastructure\DigitalData.EmailProfilerDispatcher.Infrastructure.csproj" />
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Abstraction\DigitalData.EmailProfilerDispatcher.Abstraction.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using AutoMapper;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application
|
||||
{
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
using DigitalData.Core.Abstractions;
|
||||
using DigitalData.Core.Infrastructure;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
|
||||
using DigitalData.Core.Infrastructure;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Infrastructure.Repositories
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application.Repositories
|
||||
{
|
||||
public class EmailOutRepository<TDbContext> : CRUDRepository<EmailOut, int, TDbContext>, IEmailOutRepository
|
||||
where TDbContext : DbContext
|
||||
@@ -1,12 +1,12 @@
|
||||
using AutoMapper;
|
||||
using DigitalData.Core.Application;
|
||||
using DigitalData.Core.DTO;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Application;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Application.Services
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Services
|
||||
{
|
||||
public class EmailOutService : CRUDService<IEmailOutRepository, EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>, IEmailOutService
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Attributes;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure.Repositories;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Infrastructure
|
||||
{
|
||||
public static class DIExtensions
|
||||
{
|
||||
public static IServiceCollection AddDispatcherRepository<TDbContext>(this IServiceCollection services) where TDbContext : DbContext => services
|
||||
.AddScoped<IEmailOutRepository, EmailOutRepository<TDbContext>>();
|
||||
|
||||
public static IServiceCollection AddDispatcherRepository(this IServiceCollection services, Action<DbContextOptionsBuilder> optionsAction) => services
|
||||
.AddDbContext<DefaultMailDbContext>(optionsAction)
|
||||
.AddDispatcherRepository<DefaultMailDbContext>();
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.0" />
|
||||
<PackageReference Include="DigitalData.Core.Infrastructure" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.16" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.16" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.15">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.15" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Domain\DigitalData.EmailProfilerDispatcher.Domain.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -5,13 +5,11 @@ VisualStudioVersion = 17.9.34622.214
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher.API", "DigitalData.EmailProfilerDispatcher.API\DigitalData.EmailProfilerDispatcher.API.csproj", "{352BEA44-4D3E-4D22-B1B3-B3E06A928396}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher.Domain", "DigitalData.EmailProfilerDispatcher.Domain\DigitalData.EmailProfilerDispatcher.Domain.csproj", "{2F650B4D-65F4-4F91-89C0-803790612C4E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher.Application", "DigitalData.EmailProfilerDispatcher.Application\DigitalData.EmailProfilerDispatcher.Application.csproj", "{4C42937A-944D-4AAB-A835-F7EEC2C8872F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher.Infrastructure", "DigitalData.EmailProfilerDispatcher.Infrastructure\DigitalData.EmailProfilerDispatcher.Infrastructure.csproj", "{F02B6F5B-FB2F-4E20-996D-BE99E9768039}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmailProfilerDispatcher.Tests", "EmailProfilerDispatcher.Tests\EmailProfilerDispatcher.Tests.csproj", "{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EmailProfilerDispatcher.Tests", "EmailProfilerDispatcher.Tests\EmailProfilerDispatcher.Tests.csproj", "{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.EmailProfilerDispatcher.Abstraction", "DigitalData.EmailProfilerDispatcher.Abstraction\DigitalData.EmailProfilerDispatcher.Abstraction.csproj", "{0647F6B7-BF49-4B1F-83E4-7C843A7F9775}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@@ -23,22 +21,18 @@ Global
|
||||
{352BEA44-4D3E-4D22-B1B3-B3E06A928396}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{352BEA44-4D3E-4D22-B1B3-B3E06A928396}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{352BEA44-4D3E-4D22-B1B3-B3E06A928396}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2F650B4D-65F4-4F91-89C0-803790612C4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2F650B4D-65F4-4F91-89C0-803790612C4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2F650B4D-65F4-4F91-89C0-803790612C4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2F650B4D-65F4-4F91-89C0-803790612C4E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4C42937A-944D-4AAB-A835-F7EEC2C8872F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4C42937A-944D-4AAB-A835-F7EEC2C8872F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4C42937A-944D-4AAB-A835-F7EEC2C8872F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4C42937A-944D-4AAB-A835-F7EEC2C8872F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F02B6F5B-FB2F-4E20-996D-BE99E9768039}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F02B6F5B-FB2F-4E20-996D-BE99E9768039}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F02B6F5B-FB2F-4E20-996D-BE99E9768039}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F02B6F5B-FB2F-4E20-996D-BE99E9768039}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C55114DF-F7C9-47A6-AF36-99F6C8079DE2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0647F6B7-BF49-4B1F-83E4-7C843A7F9775}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0647F6B7-BF49-4B1F-83E4-7C843A7F9775}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0647F6B7-BF49-4B1F-83E4-7C843A7F9775}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0647F6B7-BF49-4B1F-83E4-7C843A7F9775}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.0" />
|
||||
<PackageReference Include="DigitalData.Core.Application" Version="1.0.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
|
||||
<PackageReference Include="NUnit" Version="3.13.3" />
|
||||
@@ -22,8 +21,6 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.API\DigitalData.EmailProfilerDispatcher.API.csproj" />
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Application\DigitalData.EmailProfilerDispatcher.Application.csproj" />
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Domain\DigitalData.EmailProfilerDispatcher.Domain.csproj" />
|
||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Infrastructure\DigitalData.EmailProfilerDispatcher.Infrastructure.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
||||
using DigitalData.EmailProfilerDispatcher.Application;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Services;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Attributes;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using System.Diagnostics.Tracing;
|
||||
|
||||
namespace EmailProfilerDispatcher.Tests
|
||||
|
||||
Reference in New Issue
Block a user