Replaced SignatureLinkText with DocumentProcess in EmailData and updated all references. Adjusted DynamicStringsForEmails logic and template replacements accordingly. Added debug logging for template replacements. Bumped assembly version to 2.7.1.0.
94 lines
3.7 KiB
VB.net
94 lines
3.7 KiB
VB.net
Imports DigitalData.Modules.Base
|
|
Imports DigitalData.Modules.Logging
|
|
Imports EnvelopeGenerator.CommonServices.My.Resources
|
|
Imports EnvelopeGenerator.Domain.Constants
|
|
Imports EnvelopeGenerator.Domain.Entities
|
|
|
|
Public Class TemplateService
|
|
Inherits BaseService
|
|
|
|
Private _replaceDictionary As Dictionary(Of String, String)
|
|
|
|
Private ReadOnly DbConfig As DbConfig
|
|
Private ReadOnly EmailHtmlTemplateModel As EmailTemplateModel
|
|
|
|
Public Sub New(pState As State)
|
|
MyBase.New(pState)
|
|
|
|
DbConfig = pState.DbConfig
|
|
EmailHtmlTemplateModel = New EmailTemplateModel(pState)
|
|
End Sub
|
|
|
|
Private Sub InitDictionary(pEmailData As EmailData, Optional pReason As String = "")
|
|
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]", pEmailData.SignatureType},
|
|
{"[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},
|
|
{"[REASON]", pReason},
|
|
{"[DOCUMENT_PROCESS]", pEmailData.DocumentProcess}
|
|
}
|
|
End Sub
|
|
|
|
Public Sub FillDocumentReceivedEmailBody(pEmailData As EmailData)
|
|
InitDictionary(pEmailData)
|
|
Dim oTemplate = EmailHtmlTemplateModel.GetById(EmailTemplateType.DocumentReceived)
|
|
|
|
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
|
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
|
End Sub
|
|
|
|
Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData, pReason As String)
|
|
InitDictionary(pEmailData, pReason)
|
|
Dim oTemplate = EmailHtmlTemplateModel.GetById(EmailTemplateType.DocumentDeleted)
|
|
|
|
pEmailData.EmailBody = FillTemplate(oTemplate.Body, pReason)
|
|
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
|
End Sub
|
|
|
|
Public Sub FillDocumentSignedEmailBody(pEmailData As EmailData)
|
|
InitDictionary(pEmailData)
|
|
Dim oTemplate = EmailHtmlTemplateModel.GetById(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(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(EmailTemplateType.DocumentAccessCodeReceived)
|
|
|
|
pEmailData.EmailBody = FillTemplate(oTemplate.Body)
|
|
pEmailData.EmailSubject = FillTemplate(oTemplate.Subject)
|
|
End Sub
|
|
|
|
Private Function FillTemplate(pTemplate As String, Optional pReason 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
|
|
Logger.Debug($"Replacing {dictItem.Key} with {dictItem.Value}")
|
|
oText = oText.Replace(dictItem.Key, dictItem.Value)
|
|
|
|
End If
|
|
Next
|
|
|
|
Return oText
|
|
End Function
|
|
End Class
|