Imports DigitalData.Modules.Base Public Class EmailTemplate Private _DocumentReceivedBodyTemplate As List(Of String) Private _DocumentSignedBodyTemplate As List(Of String) Private _DocumentCompletedBodyTemplate As List(Of String) Private _DocumentDeletedBodyTemplate As List(Of String) Private _DocumentReceivedSubjectTemplate As String Private _DocumentSignedSubjectTemplate As String Private _DocumentDeletedSubjectTemplate As String Private _DocumentCompletedSubjectTemplate As String Private _replaceDictionary As Dictionary(Of String, String) Private DbConfig As DbConfig Public Sub New(pState As State) InitBodyTemplates() InitSubjectTemplates() DbConfig = pState.DbConfig End Sub Private Sub InitSubjectTemplates() _DocumentReceivedSubjectTemplate = "Dokument erhalten: ''" _DocumentSignedSubjectTemplate = "Dokument unterschrieben: ''" _DocumentDeletedSubjectTemplate = "Vorgang zurückgezogen: ''" _DocumentCompletedSubjectTemplate = "Vorgang abgeschlossen: ''" End Sub Private Sub InitBodyTemplates() _DocumentReceivedBodyTemplate = New List(Of String) From { "Guten Tag ,", "", " hat Ihnen ein Dokument zum gesendet.", "", "Über den folgenden Link können Sie das Dokument einsehen: "">", "", "", "", "Mit freundlichen Grüßen", "" } _DocumentSignedBodyTemplate = New List(Of String) From { "Guten Tag ", "", "hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang .", "", "Mit freundlichen Grüßen", "" } _DocumentDeletedBodyTemplate = New List(Of String) From { "Guten Tag ", "", "Der User hat den Umschlag gelöscht.", "", "Mit freundlichen Grüßen", "" } _DocumentCompletedBodyTemplate = New List(Of String) From { "Guten Tag ", "", "Der Signaturvorgang wurde erfolgreich abgeschlossen.", "Sie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.", "", "Vielen Dank für die Nutzung von", "" } End Sub Private Sub InitDictionary(pEmailData As EmailData) _replaceDictionary = New Dictionary(Of String, String) From { {"", pEmailData.ReceiverName}, {"", pEmailData.SenderName}, {"", DbConfig.ExternalProgramName}, {"", "signieren"}, {"", pEmailData.SignatureLink}, {"", $"{pEmailData.SignatureLink.Truncate(40)}.."}, {"", pEmailData.EnvelopeTitle}, {"", pEmailData.Message} } End Sub Public Sub FillDocumentReceivedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentReceivedBodyTemplate) FillEmailSubject(pEmailData, _DocumentReceivedSubjectTemplate) End Sub Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentDeletedBodyTemplate) FillEmailSubject(pEmailData, _DocumentDeletedSubjectTemplate) End Sub Public Sub FillDocumentSignedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentSignedBodyTemplate) FillEmailSubject(pEmailData, _DocumentSignedSubjectTemplate) End Sub Public Sub FillDocumentCompletedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentCompletedBodyTemplate) FillEmailSubject(pEmailData, _DocumentCompletedSubjectTemplate) End Sub Public Sub FillEmailSubject(pEmailData As EmailData, pTemplate As String) InitDictionary(pEmailData) Dim oSubject As String = pTemplate For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary If oSubject.Contains(dictItem.Key) Then oSubject = oSubject.Replace(dictItem.Key, dictItem.Value) End If Next pEmailData.EmailSubject = oSubject End Sub Public Sub FillEmailBody(pEmailData As EmailData, pTemplate As List(Of String)) InitDictionary(pEmailData) Dim oBody As String = "" For Each lineItem As String In pTemplate Dim oLineValue As String = lineItem For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary If oLineValue.Contains(dictItem.Key) Then oLineValue = oLineValue.Replace(dictItem.Key, dictItem.Value) End If Next oBody += oLineValue + "
" Next pEmailData.EmailBody = oBody End Sub End Class