144 lines
5.3 KiB
VB.net
144 lines
5.3 KiB
VB.net
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: '[DOCUMENT_TITLE]'"
|
|
_DocumentSignedSubjectTemplate = "Dokument unterschrieben: '[DOCUMENT_TITLE]'"
|
|
_DocumentDeletedSubjectTemplate = "Vorgang zurückgezogen: '[DOCUMENT_TITLE]'"
|
|
_DocumentCompletedSubjectTemplate = "Vorgang abgeschlossen: '[DOCUMENT_TITLE]'"
|
|
End Sub
|
|
|
|
Private Sub InitBodyTemplates()
|
|
_DocumentReceivedBodyTemplate = New List(Of String) From {
|
|
"Guten Tag [NAME_RECEIVER],",
|
|
"",
|
|
"[NAME_SENDER] hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet.",
|
|
"",
|
|
"Über den folgenden Link können Sie das Dokument einsehen: <a href=""[LINK_TO_DOCUMENT]"">[LINK_TO_DOCUMENT_TEXT]</a>",
|
|
"",
|
|
"[MESSAGE]",
|
|
"",
|
|
"Mit freundlichen Grüßen",
|
|
"[NAME_PORTAL]"
|
|
}
|
|
|
|
'_DocumentReceivedBodyTemplate = Common.My.Resources.email_de.Split(vbNewLine).ToList()
|
|
|
|
_DocumentSignedBodyTemplate = New List(Of String) From {
|
|
"Guten Tag [NAME_RECEIVER]",
|
|
"",
|
|
"hiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang [DOCUMENT_TITLE].",
|
|
"",
|
|
"Mit freundlichen Grüßen",
|
|
"[NAME_PORTAL]"
|
|
}
|
|
|
|
_DocumentDeletedBodyTemplate = New List(Of String) From {
|
|
"Guten Tag [NAME_RECEIVER]",
|
|
"",
|
|
"Der User [NAME_SENDER] hat den Umschlag [DOCUMENT_TITLE] gelöscht.",
|
|
"",
|
|
"Mit freundlichen Grüßen",
|
|
"[NAME_PORTAL]"
|
|
}
|
|
|
|
_DocumentCompletedBodyTemplate = New List(Of String) From {
|
|
"Guten Tag [NAME_RECEIVER]",
|
|
"",
|
|
"Der Signaturvorgang [DOCUMENT_TITLE] wurde erfolgreich abgeschlossen.",
|
|
"Sie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.",
|
|
"",
|
|
"Vielen Dank für die Nutzung von",
|
|
"[NAME_PORTAL]"
|
|
}
|
|
End Sub
|
|
|
|
Private Sub InitDictionary(pEmailData As EmailData)
|
|
_replaceDictionary = New Dictionary(Of String, String) From {
|
|
{"[NAME_RECEIVER]", pEmailData.ReceiverName},
|
|
{"[NAME_SENDER]", pEmailData.SenderName},
|
|
{"[NAME_PORTAL]", DbConfig.ExternalProgramName},
|
|
{"[SIGNATURE_TYPE]", "signieren"},
|
|
{"[LINK_TO_DOCUMENT]", pEmailData.SignatureLink},
|
|
{"[LINK_TO_DOCUMENT_TEXT]", $"{pEmailData.SignatureLink.Truncate(40)}.."},
|
|
{"[DOCUMENT_TITLE]", pEmailData.EnvelopeTitle},
|
|
{"[MESSAGE]", 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 + "<br/>"
|
|
Next
|
|
|
|
pEmailData.EmailBody = oBody
|
|
End Sub
|
|
End Class
|