Compare commits
16 Commits
49cb078ac9
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f5e02c4219 | |||
| b88106a38f | |||
|
|
f70794b7b0 | ||
|
|
1157ea032b | ||
|
|
fd698e7a5d | ||
|
|
a54ec39df7 | ||
|
|
8fc23b0055 | ||
|
|
e372a5a5b2 | ||
|
|
bb9a64a85b | ||
|
|
ab40ce9205 | ||
|
|
863bf43873 | ||
|
|
b953e3afaa | ||
|
|
211a63d70e | ||
|
|
184accafd5 | ||
|
|
3665a20841 | ||
|
|
025a21d13a |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1,57 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks>
|
||||||
|
<PackageId>DigitalData.EmailProfilerDispatcher.Abstraction.Attributes</PackageId>
|
||||||
|
<Company>Digital Data GmbH</Company>
|
||||||
|
<Copyright>Copyright 2025</Copyright>
|
||||||
|
<PackageIcon>icon.png</PackageIcon>
|
||||||
|
<PackageTags>digital data email dispatcher</PackageTags>
|
||||||
|
<Description>This package provides the necessary ‘Attributes’ for the DigitalData.EmailProfilerDispatcher.Abstractions library to support the .NET Framrwork.</Description>
|
||||||
|
<Authors>Digital Data GmbH</Authors>
|
||||||
|
<RepositoryUrl>http://git.dd:3000/AppStd/EmailProfilerDispatcher.git</RepositoryUrl>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<AssemblyVersion>1.0.0</AssemblyVersion>
|
||||||
|
<FileVersion>1.0.0</FileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(TargetFramework)' == 'net462'">
|
||||||
|
<ImplicitUsings>disable</ImplicitUsings>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(TargetFramework)' != 'net462'">
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
|
||||||
|
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\Assets\icon.png">
|
||||||
|
<Pack>True</Pack>
|
||||||
|
<PackagePath>\</PackagePath>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||||||
|
<PackageReference Include="DigitalData.Core.Abstractions.Security">
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||||
|
<PackageReference Include="DigitalData.Core.Abstractions.Security">
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||||||
|
<PackageReference Include="DigitalData.Core.Abstractions.Security">
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Attributes
|
#if NETFRAMEWORK
|
||||||
|
using System;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Attributes
|
||||||
{
|
{
|
||||||
[AttributeUsage(AttributeTargets.Property)]
|
[AttributeUsage(AttributeTargets.Property)]
|
||||||
public class TemplatePlaceholderAttribute : Attribute
|
public class TemplatePlaceholderAttribute : Attribute
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
@@ -1,9 +1,9 @@
|
|||||||
using DigitalData.Core.Abstractions.Infrastructure;
|
using DigitalData.Core.Abstraction.Application.Repository;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||||
|
|
||||||
|
[Obsolete("Use IRepository")]
|
||||||
|
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
||||||
{
|
{
|
||||||
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
using DigitalData.Core.Abstractions.Application;
|
using DigitalData.Core.Abstraction.Application;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.Abstraction.Application.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;
|
||||||
|
|
||||||
|
[Obsolete("Use MediatR")]
|
||||||
|
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,25 +1,24 @@
|
|||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||||
{
|
|
||||||
public record EmailOutDto(
|
public record EmailOutDto(
|
||||||
int Id,
|
int Id,
|
||||||
int ReminderTypeId,
|
int ReminderTypeId,
|
||||||
int SendingProfile,
|
int SendingProfile,
|
||||||
int ReferenceId,
|
int ReferenceId,
|
||||||
string? ReferenceString,
|
string? ReferenceString,
|
||||||
int? EntityId,
|
int? EntityId,
|
||||||
int WfId,
|
int WfId,
|
||||||
string? WfReference,
|
string? WfReference,
|
||||||
string EmailAddress,
|
string EmailAddress,
|
||||||
string EmailSubj,
|
string EmailSubj,
|
||||||
string EmailBody,
|
string EmailBody,
|
||||||
string? EmailAttmt1,
|
string? EmailAttmt1,
|
||||||
DateTime? EmailSent,
|
DateTime? EmailSent,
|
||||||
string? Comment,
|
string? Comment,
|
||||||
string AddedWho,
|
string AddedWho,
|
||||||
DateTime? AddedWhen,
|
DateTime? AddedWhen,
|
||||||
string? ChangedWho,
|
string? ChangedWho,
|
||||||
DateTime? ChangedWhen,
|
DateTime? ChangedWhen,
|
||||||
DateTime? ErrorTimestamp,
|
DateTime? ErrorTimestamp,
|
||||||
string? ErrorMsg
|
string? ErrorMsg
|
||||||
);
|
);
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFrameworks>net7.0;net8.0;net9.0</TargetFrameworks>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<PackageId>DigitalData.EmailProfilerDispatcher.Abstraction</PackageId>
|
<PackageId>DigitalData.EmailProfilerDispatcher.Abstraction</PackageId>
|
||||||
@@ -12,24 +12,25 @@
|
|||||||
<PackageIcon>icon.png</PackageIcon>
|
<PackageIcon>icon.png</PackageIcon>
|
||||||
<RepositoryUrl>http://git.dd:3000/AppStd/EmailProfilerDispatcher.git</RepositoryUrl>
|
<RepositoryUrl>http://git.dd:3000/AppStd/EmailProfilerDispatcher.git</RepositoryUrl>
|
||||||
<PackageTags>digital data email dispatcher abstraction</PackageTags>
|
<PackageTags>digital data email dispatcher abstraction</PackageTags>
|
||||||
|
<Version>3.2.0</Version>
|
||||||
|
<FileVersion>3.2.0</FileVersion>
|
||||||
|
<AssemblyVersion>3.2.0</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\DigitalData.EmailProfilerDispatcher\Assets\icon.png">
|
<None Include="..\Assets\icon.png">
|
||||||
<Pack>True</Pack>
|
<Pack>True</Pack>
|
||||||
<PackagePath>\</PackagePath>
|
<PackagePath>\</PackagePath>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DigitalData.Core.Abstractions" Version="1.0.1.1" />
|
<PackageReference Include="DigitalData.Core.Abstractions.Security" Version="1.0.0" />
|
||||||
|
<PackageReference Include="DigitalData.Core.Abstraction.Application" Version="1.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Update="Assets\icon.png">
|
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Abstraction.Attributes\DigitalData.EmailProfilerDispatcher.Abstraction.Attributes.csproj" />
|
||||||
<Pack>True</Pack>
|
|
||||||
<PackagePath>\</PackagePath>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
||||||
{
|
{
|
||||||
[Table("TBEMLP_EMAIL_OUT")]
|
[Table("TBEMLP_EMAIL_OUT")]
|
||||||
public class EmailOut
|
public class EmailOut
|
||||||
@@ -73,7 +73,6 @@ namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
|||||||
|
|
||||||
[Column("ADDED_WHEN")]
|
[Column("ADDED_WHEN")]
|
||||||
[DefaultValue("getdate()")]
|
[DefaultValue("getdate()")]
|
||||||
[NotMapped]
|
|
||||||
public DateTime? AddedWhen { get; set; }
|
public DateTime? AddedWhen { get; set; }
|
||||||
|
|
||||||
[Column("CHANGED_WHO", TypeName = "varchar(50)")]
|
[Column("CHANGED_WHO", TypeName = "varchar(50)")]
|
||||||
@@ -89,5 +88,16 @@ namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
|||||||
[Column("ERROR_MSG", TypeName = "varchar(900)")]
|
[Column("ERROR_MSG", TypeName = "varchar(900)")]
|
||||||
[StringLength(900)]
|
[StringLength(900)]
|
||||||
public string? ErrorMsg { get; set; }
|
public string? ErrorMsg { get; set; }
|
||||||
|
|
||||||
|
[Column("ATTACHMENT1_BYTES", TypeName = "varbinary(max)")]
|
||||||
|
public byte[]? Attachment1Bytes { get; set; }
|
||||||
|
|
||||||
|
[Column("ATT1_RELATED_ID")]
|
||||||
|
public long? Att1RelatedId { get; set; }
|
||||||
|
|
||||||
|
[Column("ATT1_REL_TYPE", TypeName = "varchar(20)")]
|
||||||
|
[StringLength(20)]
|
||||||
|
public string? Att1RelType { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDi
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher", "DigitalData.EmailProfilerDispatcher\DigitalData.EmailProfilerDispatcher.csproj", "{DF202B1D-6C6F-4354-9B73-20F03486D020}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DigitalData.EmailProfilerDispatcher", "DigitalData.EmailProfilerDispatcher\DigitalData.EmailProfilerDispatcher.csproj", "{DF202B1D-6C6F-4354-9B73-20F03486D020}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Assest", "Assest", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
Assets\icon.png = Assets\icon.png
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DigitalData.EmailProfilerDispatcher.Abstraction.Attributes", "DigitalData.EmailProfilerDispatcher.Abstraction.Attributes\DigitalData.EmailProfilerDispatcher.Abstraction.Attributes.csproj", "{16785881-75BA-4721-9A0C-B469FAA95D95}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -33,10 +42,17 @@ Global
|
|||||||
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Debug|Any CPU.Build.0 = Release|Any CPU
|
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Debug|Any CPU.Build.0 = Release|Any CPU
|
||||||
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Release|Any CPU.Build.0 = Release|Any CPU
|
{DF202B1D-6C6F-4354-9B73-20F03486D020}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{16785881-75BA-4721-9A0C-B469FAA95D95}.Debug|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{16785881-75BA-4721-9A0C-B469FAA95D95}.Debug|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{16785881-75BA-4721-9A0C-B469FAA95D95}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{16785881-75BA-4721-9A0C-B469FAA95D95}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}
|
||||||
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {CB0B8122-D532-4A7F-87CC-760B959A433C}
|
SolutionGuid = {CB0B8122-D532-4A7F-87CC-760B959A433C}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ namespace DigitalData.EmailProfilerDispatcher
|
|||||||
{
|
{
|
||||||
public static class DIExtensions
|
public static class DIExtensions
|
||||||
{
|
{
|
||||||
public static IServiceCollection AddDispatcher<TDbContext>(this IServiceCollection services) where TDbContext : DbContext => services
|
public static IServiceCollection AddDispatcher<TDbContext>(this IServiceCollection services) where TDbContext : DbContext, IMailDbContext
|
||||||
|
=> services
|
||||||
.AddScoped<IEmailOutRepository, EmailOutRepository<TDbContext>>()
|
.AddScoped<IEmailOutRepository, EmailOutRepository<TDbContext>>()
|
||||||
.AddAutoMapper(typeof(MappingProfile).Assembly)
|
.AddAutoMapper(typeof(MappingProfile).Assembly)
|
||||||
.AddScoped<IEmailOutService, EmailOutService>();
|
.AddScoped<IEmailOutService, EmailOutService>();
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher
|
namespace DigitalData.EmailProfilerDispatcher
|
||||||
{
|
{
|
||||||
public class DefaultMailDbContext : DbContext
|
public class DefaultMailDbContext : DbContext, IMailDbContext
|
||||||
{
|
{
|
||||||
public DbSet<EmailOut> EMailOuts { get; set; }
|
public DbSet<EmailOut> EMailOuts { get; set; }
|
||||||
|
|
||||||
public DefaultMailDbContext(DbContextOptions options) : base(options)
|
public DefaultMailDbContext(DbContextOptions options) : base(options)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +1,56 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFrameworks>net7.0;net8.0;net9.0</TargetFrameworks>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<PackageId>DigitalData.EmailProfilerDispatcher</PackageId>
|
<PackageId>DigitalData.EmailProfilerDispatcher</PackageId>
|
||||||
<Version>1.0.0</Version>
|
|
||||||
<Company>Digital Data GmbH</Company>
|
<Company>Digital Data GmbH</Company>
|
||||||
<Copyright>Copyright 2024</Copyright>
|
<Copyright>Copyright 2024</Copyright>
|
||||||
<PackageIcon>Assets\icon.png</PackageIcon>
|
<PackageIcon>icon.png</PackageIcon>
|
||||||
<PackageTags>digital data email dispatcher</PackageTags>
|
<PackageTags>digital data email dispatcher</PackageTags>
|
||||||
<Description>DigitalData.EmailProfilerDispatcher enables adding data to the Email Profiler's SQL tables for systematic and batch email dispatching. It also supports dynamic and automatic template filling using attributes, allowing object property values to populate email templates.</Description>
|
<Description>DigitalData.EmailProfilerDispatcher enables adding data to the Email Profiler's SQL tables for systematic and batch email dispatching. It also supports dynamic and automatic template filling using attributes, allowing object property values to populate email templates.</Description>
|
||||||
<Authors>Digital Data GmbH</Authors>
|
<Authors>Digital Data GmbH</Authors>
|
||||||
<RepositoryUrl>http://git.dd:3000/AppStd/EmailProfilerDispatcher.git</RepositoryUrl>
|
<RepositoryUrl>http://git.dd:3000/AppStd/EmailProfilerDispatcher.git</RepositoryUrl>
|
||||||
|
<Version>3.1.1</Version>
|
||||||
|
<AssemblyVersion>3.1.1</AssemblyVersion>
|
||||||
|
<FileVersion>3.1.1</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
<None Include="..\Assets\icon.png">
|
||||||
<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" />
|
|
||||||
<PackageReference Include="WebCore.Abstractions" Version="1.0.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Abstraction\DigitalData.EmailProfilerDispatcher.Abstraction.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="Assets\icon.png">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
<Pack>True</Pack>
|
<Pack>True</Pack>
|
||||||
<PackagePath>\</PackagePath>
|
<PackagePath>\</PackagePath>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="DigitalData.Core.Application" Version="3.3.4" />
|
||||||
|
<PackageReference Include="DigitalData.Core.Infrastructure" Version="2.1.1" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Localization" Version="7.0.19" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="7.0.19" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||||||
|
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.20" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.20" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||||||
|
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.15" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.15" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||||||
|
<PackageReference Include="AutoMapper" Version="14.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.5" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Abstraction\DigitalData.EmailProfilerDispatcher.Abstraction.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
10
DigitalData.EmailProfilerDispatcher/IMailDbContext.cs
Normal file
10
DigitalData.EmailProfilerDispatcher/IMailDbContext.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace DigitalData.EmailProfilerDispatcher
|
||||||
|
{
|
||||||
|
public interface IMailDbContext
|
||||||
|
{
|
||||||
|
public DbSet<EmailOut> EMailOuts { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
using DigitalData.Core.Infrastructure;
|
using DigitalData.Core.Abstraction.Application.Repository;
|
||||||
|
using DigitalData.Core.Infrastructure;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace DigitalData.EmailProfilerDispatcher.Repositories
|
namespace DigitalData.EmailProfilerDispatcher.Repositories;
|
||||||
|
|
||||||
|
[Obsolete("Use IRepository")]
|
||||||
|
public class EmailOutRepository<TDbContext> : CRUDRepository<EmailOut, int, TDbContext>, IEmailOutRepository
|
||||||
|
where TDbContext : DbContext, IMailDbContext
|
||||||
{
|
{
|
||||||
public class EmailOutRepository<TDbContext> : CRUDRepository<EmailOut, int, TDbContext>, IEmailOutRepository
|
public EmailOutRepository(TDbContext dbContext) : base(dbContext, dbContext.EMailOuts)
|
||||||
where TDbContext : DbContext
|
|
||||||
{
|
{
|
||||||
public EmailOutRepository(TDbContext dbContext) : base(dbContext)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +1,31 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using DigitalData.Core.Application;
|
using DigitalData.Core.Application;
|
||||||
using DigitalData.Core.DTO;
|
using DigitalData.Core.Abstraction.Application.DTO;
|
||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Contracts;
|
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).ThenAsync(email => Result.Success(email.Id), (msg, ntc) => Result.Fail<int>().Message(msg).Notice(ntc));
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
@@ -11,7 +11,8 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
||||||
<PackageReference Include="DigitalData.Core.Application" Version="1.0.0" />
|
<PackageReference Include="DigitalData.Core.Application" Version="3.3.4" />
|
||||||
|
<PackageReference Include="DigitalData.Core.Abstraction.Application" Version="1.0.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" />
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.API\DigitalData.EmailProfilerDispatcher.API.csproj" />
|
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.API\DigitalData.EmailProfilerDispatcher.API.csproj" />
|
||||||
<ProjectReference Include="..\DigitalData.EmailProfilerDispatcher.Application\DigitalData.EmailProfilerDispatcher.Application.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
||||||
using DigitalData.EmailProfilerDispatcher.Application;
|
using DigitalData.EmailProfilerDispatcher;
|
||||||
using System.Diagnostics.Tracing;
|
|
||||||
|
|
||||||
namespace EmailProfilerDispatcher.Tests
|
namespace EmailProfilerDispatcher.Tests
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user