Refactor email content logic into EmailData class

Move dynamic message and signature type logic from TemplateService to EmailData via DynamicStringsForEmails. Constructors now set and HTML-encode these properties. Improves maintainability by centralizing email content generation.
This commit is contained in:
OlgunR
2026-03-03 10:42:18 +01:00
parent a7fff24f80
commit af60dfe338
2 changed files with 23 additions and 12 deletions

View File

@@ -22,20 +22,11 @@ Public Class TemplateService
Private Sub InitDictionary(pEmailData As EmailData, Optional pReason As String = "")
Logger.Debug("Initializing dictionary..")
Dim signatureType As String
If pEmailData.EnvelopeTypeId = 1 Then
signatureType = "Signieren"
pEmailData.Message = "Bitte lesen und unterzeichnen Sie dieses Dokument."
ElseIf pEmailData.EnvelopeTypeId = 2 Then
signatureType = "Lesen und bestätigen"
pEmailData.Message = "Bitte lesen und bestätigen Sie, dieses Dokument gelesen zu haben."
End If
_replaceDictionary = New Dictionary(Of String, String) From {
{"[NAME_RECEIVER]", pEmailData.ReceiverName},
{"[NAME_SENDER]", pEmailData.SenderName},
{"[NAME_PORTAL]", DbConfig.ExternalProgramName},
{"[SIGNATURE_TYPE]", signatureType},
{"[SIGNATURE_TYPE]", pEmailData.SignatureType},
{"[LINK_TO_DOCUMENT]", pEmailData.SignatureLink},
{"[LINK_TO_DOCUMENT_TEXT]", $"{pEmailData.SignatureLink.Truncate(40)}.."},
{"[DOCUMENT_TITLE]", pEmailData.EnvelopeTitle},