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 zur Unterschrift erhalten: ''" _DocumentSignedSubjectTemplate = "Dokument unterschrieben: ''" _DocumentDeletedSubjectTemplate = "Dokument zurueckgezogen: ''" _DocumentCompletedSubjectTemplate = "Dokument 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, ", "", "Das Dokument wurde von allen Beteiligten unterschrieben.", "", "Mit freundlichen Grüßen", "" } 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.EmailSubject}, {"", pEmailData.Message} } End Sub Public Sub FillDocumentReceivedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentReceivedBodyTemplate) End Sub Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentDeletedBodyTemplate) End Sub Public Sub FillDocumentSignedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentSignedBodyTemplate) End Sub Public Sub FillDocumentCompletedEmailBody(pEmailData As EmailData) FillEmailBody(pEmailData, _DocumentCompletedBodyTemplate) End Sub Public Sub FillEmailSubject(pEmailData As EmailData, pTemplate As String) InitDictionary(pEmailData) Dim resultSubject As String = pTemplate For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary If resultSubject.Contains(dictItem.Key) Then resultSubject = resultSubject.Replace(dictItem.Key, dictItem.Value) End If Next End Sub Public Sub FillEmailBody(pEmailData As EmailData, pTemplate As List(Of String)) InitDictionary(pEmailData) Dim resultBody 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 resultBody += oLineValue + "
" Next pEmailData.EmailBody = resultBody End Sub End Class