feat: E-Mail-Vorlagenverarbeitung hinzufügen
- Methode `FillTemplate` für Platzhalterersetzung hinzugefügt. - `TemplatePlaceholderAttribute` eingeführt. - `EmailOutService` mit Vorlagenmethoden aktualisiert. - Unit-Tests für Vorlagenverarbeitung hinzugefügt.
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
using DigitalData.Core.API;
|
||||
using DigitalData.EmailProfilerDispatcher.API.Resources;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Contracts;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.DTOs.EmailOut;
|
||||
using DigitalData.EmailProfilerDispatcher.Application.Services;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Attributes;
|
||||
using DigitalData.EmailProfilerDispatcher.Domain.Entities;
|
||||
using DigitalData.EmailProfilerDispatcher.Infrastructure.Contracts;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace DigitalData.EmailProfilerGateway.API.Controllers
|
||||
{
|
||||
@@ -11,5 +15,45 @@ namespace DigitalData.EmailProfilerGateway.API.Controllers
|
||||
public MailController(ILogger<MailController> logger, IEmailOutService service) : base(logger, service)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("fill-out")]
|
||||
public IActionResult FillOut(string? template = null)
|
||||
{
|
||||
template ??= @"Guten Tag [NAME_RECEIVER],<br />
|
||||
<br />
|
||||
hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <B><I>'[DOCUMENT_TITLE]'</I></B>.<br />
|
||||
Wenn alle Vertragspartner unterzeichnet haben, erhalten Sie ebenfalls per email ein unterschriebenes Exemplar mit dem Signierungszertifikat!
|
||||
<br />
|
||||
Mit freundlichen Grüßen<br />
|
||||
<br />
|
||||
[NAME_PORTAL]";
|
||||
|
||||
var mailData = new MailData();
|
||||
|
||||
var expectedOutput = @"Guten Tag Tom,<br />
|
||||
<br />
|
||||
hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang <B><I>'Vertragsdokument'</I></B>.<br />
|
||||
Wenn alle Vertragspartner unterzeichnet haben, erhalten Sie ebenfalls per email ein unterschriebenes Exemplar mit dem Signierungszertifikat!
|
||||
<br />
|
||||
Mit freundlichen Grüßen<br />
|
||||
<br />
|
||||
DokumentenPortal";
|
||||
|
||||
var result = EmailOutService<Resource>.FillTemplate(template, mailData);
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
public class MailData
|
||||
{
|
||||
[TemplatePlaceholder("[NAME_RECEIVER]")]
|
||||
public string NameReceiver { get; set; } = "Tom";
|
||||
|
||||
[TemplatePlaceholder("[DOCUMENT_TITLE]")]
|
||||
public string DocumentTitle { get; set; } = "Vertragsdokument";
|
||||
|
||||
[TemplatePlaceholder("[NAME_PORTAL]")]
|
||||
public string NamePortal { get; set; } = "DokumentenPortal";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user