15.01.2024
This commit is contained in:
91
EnvelopeGenerator.Common/Services/TemplateService.vb
Normal file
91
EnvelopeGenerator.Common/Services/TemplateService.vb
Normal file
@@ -0,0 +1,91 @@
|
||||
Imports DigitalData.Modules.Base
|
||||
Imports DigitalData.Modules.Logging
|
||||
|
||||
Public Class TemplateService
|
||||
Inherits BaseService
|
||||
|
||||
Private _replaceDictionary As Dictionary(Of String, String)
|
||||
|
||||
Private ReadOnly DbConfig As DbConfig
|
||||
Private ReadOnly LogConfig As LogConfig
|
||||
Private ReadOnly Logger As Logger
|
||||
Private ReadOnly EmailHtmlTemplateModel As EmailTemplateModel
|
||||
|
||||
Public Sub New(pState As State)
|
||||
MyBase.New(pState)
|
||||
|
||||
DbConfig = pState.DbConfig
|
||||
LogConfig = pState.LogConfig
|
||||
Logger = LogConfig.GetLogger()
|
||||
EmailHtmlTemplateModel = New EmailTemplateModel(pState)
|
||||
End Sub
|
||||
|
||||
Private Sub InitDictionary(pEmailData As EmailData)
|
||||
Logger.Debug("Initializing dictionary..")
|
||||
|
||||
_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},
|
||||
{"[DOCUMENT_ACCESS_CODE]", pEmailData.ReceiverAccessCode}
|
||||
}
|
||||
End Sub
|
||||
|
||||
Public Sub FillDocumentReceivedEmailBody(pEmailData As EmailData)
|
||||
InitDictionary(pEmailData)
|
||||
Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentReceived)
|
||||
|
||||
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
||||
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
||||
End Sub
|
||||
|
||||
Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData)
|
||||
InitDictionary(pEmailData)
|
||||
Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentDeleted)
|
||||
|
||||
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
||||
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
||||
End Sub
|
||||
|
||||
Public Sub FillDocumentSignedEmailBody(pEmailData As EmailData)
|
||||
InitDictionary(pEmailData)
|
||||
Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentSigned)
|
||||
|
||||
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
||||
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
||||
End Sub
|
||||
|
||||
Public Sub FillDocumentCompletedEmailBody(pEmailData As EmailData)
|
||||
InitDictionary(pEmailData)
|
||||
Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentCompleted)
|
||||
|
||||
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
||||
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
||||
End Sub
|
||||
|
||||
Public Sub FillDocumentAccessCodeReceivedEmailBody(pEmailData As EmailData)
|
||||
InitDictionary(pEmailData)
|
||||
Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentAccessCodeReceived)
|
||||
|
||||
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
||||
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
||||
End Sub
|
||||
|
||||
Private Function FillTemplate(pTemplate As String) As String
|
||||
Dim oText As String = pTemplate
|
||||
|
||||
For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary
|
||||
If oText.Contains(dictItem.Key) Then
|
||||
oText = oText.Replace(dictItem.Key, dictItem.Value)
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
Return oText
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user