Die Infrastrukturschicht wurde mit der Anwendungsschicht zusammengeführt, um das Projekt zu vereinfachen, und Abstraktion wurde hinzugefügt.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Attributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class TemplatePlaceholderAttribute : Attribute
|
||||
{
|
||||
public readonly string Placeholder;
|
||||
|
||||
public TemplatePlaceholderAttribute(string placeholder)
|
||||
{
|
||||
Placeholder = placeholder;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using DigitalData.Core.Abstractions.Infrastructure;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
||||
{
|
||||
public interface IEmailOutRepository : ICRUDRepository<EmailOut, int>
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using DigitalData.Core.Abstractions.Application;
|
||||
using DigitalData.Core.DTO;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Abstraction.Entities;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Contracts
|
||||
{
|
||||
public interface IEmailOutService : ICRUDService<EmailOutCreateDto, EmailOutDto, EmailOutDto, EmailOut, int>
|
||||
{
|
||||
Task<DataResult<int>> CreateWithTemplateAsync(EmailOutCreateDto createDto, params object[] models);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut
|
||||
{
|
||||
public record EmailOutCreateDto
|
||||
{
|
||||
public int ReminderTypeId { get; set; }
|
||||
public int SendingProfile { get; set; }
|
||||
public int ReferenceId { get; set; }
|
||||
public int WfId { get; set; }
|
||||
public string EmailAddress { get; set; }
|
||||
public string EmailSubj { get; set; }
|
||||
public string EmailBody { get; set; }
|
||||
public string? ReferenceString { get; set; } = null;
|
||||
public int? EntityId { get; set; } = null;
|
||||
public string? WfReference { get; set; } = null;
|
||||
public string? EmailAttmt1 { get; set; } = null;
|
||||
public DateTime? EmailSent { get; set; } = null;
|
||||
public string? Comment { get; set; } = null;
|
||||
public string? AddedWho { get; set; } = "DEFAULT";
|
||||
public string? ChangedWho { get; set; } = null;
|
||||
public DateTime? ChangedWhen { get; set; } = null;
|
||||
public DateTime? ErrorTimestamp { get; set; } = null;
|
||||
public string? ErrorMsg { get; set; } = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut
|
||||
{
|
||||
public record EmailOutDto(
|
||||
int Id,
|
||||
int ReminderTypeId,
|
||||
int SendingProfile,
|
||||
int ReferenceId,
|
||||
string? ReferenceString,
|
||||
int? EntityId,
|
||||
int WfId,
|
||||
string? WfReference,
|
||||
string EmailAddress,
|
||||
string EmailSubj,
|
||||
string EmailBody,
|
||||
string? EmailAttmt1,
|
||||
DateTime? EmailSent,
|
||||
string? Comment,
|
||||
string AddedWho,
|
||||
DateTime? AddedWhen,
|
||||
string? ChangedWho,
|
||||
DateTime? ChangedWhen,
|
||||
DateTime? ErrorTimestamp,
|
||||
string? ErrorMsg
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<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.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,93 @@
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities
|
||||
{
|
||||
[Table("TBEMLP_EMAIL_OUT")]
|
||||
public class EmailOut
|
||||
{
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||
[Column("GUID")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[DefaultValue(1)]
|
||||
[Column("REMINDER_TYPE_ID")]
|
||||
public int ReminderTypeId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("SENDING_PROFILE")]
|
||||
public int SendingProfile { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("REFERENCE_ID")]
|
||||
public int ReferenceId { get; set; }
|
||||
|
||||
[Column("REFERENCE_STRING", TypeName = "varchar(200)")]
|
||||
[StringLength(200)]
|
||||
public string? ReferenceString { get; set; }
|
||||
|
||||
[Column("ENTITY_ID")]
|
||||
public int? EntityId { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("WF_ID")]
|
||||
public int WfId { get; set; }
|
||||
|
||||
[Column("WF_REFERENCE", TypeName = "varchar(200)")]
|
||||
[StringLength(200)]
|
||||
public string? WfReference { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("EMAIL_ADRESS", TypeName = "varchar(1000)")]
|
||||
[StringLength(1000)]
|
||||
public string EmailAddress { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("EMAIL_SUBJ", TypeName = "varchar(500)")]
|
||||
[StringLength(500)]
|
||||
public string EmailSubj { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("EMAIL_BODY", TypeName = "varchar(max)")]
|
||||
public string EmailBody { get; set; }
|
||||
|
||||
[Column("EMAIL_ATTMT1", TypeName = "varchar(512)")]
|
||||
[StringLength(512)]
|
||||
public string? EmailAttmt1 { get; set; }
|
||||
|
||||
[Column("EMAIL_SENT")]
|
||||
public DateTime? EmailSent { get; set; }
|
||||
|
||||
[Column("COMMENT", TypeName = "varchar(500)")]
|
||||
[StringLength(500)]
|
||||
public string? Comment { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("ADDED_WHO", TypeName = "varchar(50)")]
|
||||
[StringLength(50)]
|
||||
[DefaultValue("DEFAULT")]
|
||||
public string AddedWho { get; set; }
|
||||
|
||||
[Column("ADDED_WHEN")]
|
||||
[DefaultValue("getdate()")]
|
||||
[NotMapped]
|
||||
public DateTime? AddedWhen { get; set; }
|
||||
|
||||
[Column("CHANGED_WHO", TypeName = "varchar(50)")]
|
||||
[StringLength(50)]
|
||||
public string? ChangedWho { get; set; }
|
||||
|
||||
[Column("CHANGED_WHEN")]
|
||||
public DateTime? ChangedWhen { get; set; }
|
||||
|
||||
[Column("ERROR_TIMESTAMP")]
|
||||
public DateTime? ErrorTimestamp { get; set; }
|
||||
|
||||
[Column("ERROR_MSG", TypeName = "varchar(900)")]
|
||||
[StringLength(900)]
|
||||
public string? ErrorMsg { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user