add support for more templates

This commit is contained in:
Jonathan Jenne 2023-11-17 13:49:00 +01:00
parent 4bd178d856
commit d6e3ff3875
4 changed files with 73 additions and 44 deletions

View File

@ -1,20 +1,18 @@
Imports DigitalData.Modules.Base
Public Class EmailTemplate
Inherits BaseModel
Private _firstBodyTemplate As List(Of String)
Private _DocumentReceivedBodyTemplate As List(Of String)
Private _DocumentSignedBodyTemplate As List(Of String)
Private _DocumentCompletedBodyTemplate As List(Of String)
Private _replaceDictionary As Dictionary(Of String, String)
Public Sub New(pState As State)
MyBase.New(pState)
InitTemplate()
Public Sub New()
InitTemplates()
End Sub
Private Sub InitTemplate()
_firstBodyTemplate = New List(Of String) From {
Private Sub InitTemplates()
_DocumentReceivedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>,",
"",
"<NAME_SENDER> hat Ihnen ein Dokument zum <SIGNATURE_TYPE> gesendet.",
@ -26,6 +24,24 @@ Public Class EmailTemplate
"Mit freundlichen Grüßen",
"<NAME_SENDER>"
}
_DocumentSignedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>",
"",
"Ihre Unterschrift auf dem Dokument <DOCUMENT_TITLE> wurde verarbeitet.",
"",
"Mit freundlichen Grüßen",
"<NAME_SENDER>"
}
_DocumentCompletedBodyTemplate = New List(Of String) From {
"Guten Tag, <NAME_RECEIVER>",
"",
"Das Dokument <DOCUMENT_TITLE> wurde von allen Beteiligten unterschrieben.",
"",
"Mit freundlichen Grüßen",
"<NAME_SENDER>"
}
End Sub
Private Sub InitDictionary(pEmailData As EmailData)
@ -35,17 +51,30 @@ Public Class EmailTemplate
{"<SIGNATURE_TYPE>", "signieren"},
{"<LINK_TO_DOCUMENT>", pEmailData.SignatureLink},
{"<LINK_TO_DOCUMENT_TEXT>", $"{pEmailData.SignatureLink.Truncate(40)}.."},
{"<DOCUMENT_TITLE>", pEmailData.EmailSubject},
{"<MESSAGE>", pEmailData.Message}
}
End Sub
Public Sub FillEmailBody(pEmailData As EmailData)
Public Sub FillDocumentReceivedEmailBody(pEmailData As EmailData)
FillEmailBody(pEmailData, _DocumentReceivedBodyTemplate)
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 FillEmailBody(pEmailData As EmailData, pTemplate As List(Of String))
InitDictionary(pEmailData)
Dim resultBody As String = ""
For Each lineItem As String In _firstBodyTemplate
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

View File

@ -23,8 +23,8 @@ Public Class EnvelopeEditorController
MyBase.New(pState)
Envelope = pEnvelope
Envelope.Documents = DocumentModel.List(pEnvelope.Id)
Envelope.Receivers = ReceiverModel.ListEnvelopeReceivers(pEnvelope.Id)
Envelope.Documents = DocumentModel.List(pEnvelope.Id).ToList()
Envelope.Receivers = ReceiverModel.ListEnvelopeReceivers(pEnvelope.Id).ToList()
Thumbnail = New Thumbnail(pState.LogConfig)
End Sub
@ -46,8 +46,8 @@ Public Class EnvelopeEditorController
.SignatureLink = Helpers.GetEnvelopeURL(State.DbConfig.SignatureHost, Envelope.Uuid, receiverItem.Signature)
}
Dim oTemplate As New EmailTemplate(State)
oTemplate.FillEmailBody(oEmailData)
Dim oTemplate As New EmailTemplate()
oTemplate.FillDocumentReceivedEmailBody(oEmailData)
If EmailModel.Insert(oEmailData) = False Then
Logger.Error("EMail data could not be inserted.")

View File

@ -66,14 +66,14 @@ Partial Public Class frmEnvelopeEditor
Me.EnvelopeReceiverBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ViewReceivers = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colColor = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RepositoryItemPictureEdit2 = New DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit()
Me.RepositoryItemColorEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorEdit()
Me.colEmail = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RepositoryItemEmailEdit = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
Me.colName = New DevExpress.XtraGrid.Columns.GridColumn()
Me.RepositoryItemPictureEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit()
Me.RepositoryItemColorPickEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorPickEdit()
Me.RepositoryItemColorEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorEdit()
Me.RepositoryItemImageEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemImageEdit()
Me.RepositoryItemPictureEdit2 = New DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit()
Me.LayoutControlGroup2 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroup3 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
@ -115,12 +115,12 @@ Partial Public Class frmEnvelopeEditor
CType(Me.GridReceivers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EnvelopeReceiverBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ViewReceivers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemPictureEdit2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemEmailEdit, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemPictureEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemColorPickEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemImageEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemPictureEdit2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
@ -413,10 +413,11 @@ Partial Public Class frmEnvelopeEditor
Me.colColor.Name = "colColor"
Me.colColor.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False]
'
'RepositoryItemPictureEdit2
'RepositoryItemColorEdit1
'
Me.RepositoryItemPictureEdit2.Name = "RepositoryItemPictureEdit2"
Me.RepositoryItemPictureEdit2.SvgImageSize = New System.Drawing.Size(16, 16)
resources.ApplyResources(Me.RepositoryItemColorEdit1, "RepositoryItemColorEdit1")
Me.RepositoryItemColorEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("RepositoryItemColorEdit1.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))})
Me.RepositoryItemColorEdit1.Name = "RepositoryItemColorEdit1"
'
'colEmail
'
@ -451,18 +452,17 @@ Partial Public Class frmEnvelopeEditor
Me.RepositoryItemColorPickEdit1.ReadOnly = True
Me.RepositoryItemColorPickEdit1.ShowDropDown = DevExpress.XtraEditors.Controls.ShowDropDown.Never
'
'RepositoryItemColorEdit1
'
resources.ApplyResources(Me.RepositoryItemColorEdit1, "RepositoryItemColorEdit1")
Me.RepositoryItemColorEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("RepositoryItemColorEdit1.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))})
Me.RepositoryItemColorEdit1.Name = "RepositoryItemColorEdit1"
'
'RepositoryItemImageEdit1
'
resources.ApplyResources(Me.RepositoryItemImageEdit1, "RepositoryItemImageEdit1")
Me.RepositoryItemImageEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("RepositoryItemImageEdit1.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))})
Me.RepositoryItemImageEdit1.Name = "RepositoryItemImageEdit1"
'
'RepositoryItemPictureEdit2
'
Me.RepositoryItemPictureEdit2.Name = "RepositoryItemPictureEdit2"
Me.RepositoryItemPictureEdit2.SvgImageSize = New System.Drawing.Size(16, 16)
'
'LayoutControlGroup2
'
Me.LayoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
@ -609,12 +609,12 @@ Partial Public Class frmEnvelopeEditor
CType(Me.GridReceivers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EnvelopeReceiverBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ViewReceivers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemPictureEdit2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemEmailEdit, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemPictureEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemColorPickEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemImageEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemPictureEdit2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()

View File

@ -447,7 +447,7 @@
<value>0, 0</value>
</data>
<metadata name="EnvelopeReceiverBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>338, 17</value>
<value>17, 95</value>
</metadata>
<data name="GridReceivers.Location" type="System.Drawing.Point, System.Drawing">
<value>14, 35</value>
@ -787,13 +787,13 @@
<value>0</value>
</data>
<metadata name="FrmEditorBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>801, 17</value>
<value>17, 173</value>
</metadata>
<metadata name="EnvelopeDocumentBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>564, 17</value>
<value>17, 134</value>
</metadata>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>196, 17</value>
<value>17, 56</value>
</metadata>
<data name="OpenFileDialog1.Filter" xml:space="preserve">
<value>PDF Files|*.pdf</value>
@ -972,11 +972,11 @@
<data name="&gt;&gt;colColor.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RepositoryItemPictureEdit2.Name" xml:space="preserve">
<value>RepositoryItemPictureEdit2</value>
<data name="&gt;&gt;RepositoryItemColorEdit1.Name" xml:space="preserve">
<value>RepositoryItemColorEdit1</value>
</data>
<data name="&gt;&gt;RepositoryItemPictureEdit2.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="&gt;&gt;RepositoryItemColorEdit1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemColorEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;colEmail.Name" xml:space="preserve">
<value>colEmail</value>
@ -1008,18 +1008,18 @@
<data name="&gt;&gt;RepositoryItemColorPickEdit1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemColorPickEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RepositoryItemColorEdit1.Name" xml:space="preserve">
<value>RepositoryItemColorEdit1</value>
</data>
<data name="&gt;&gt;RepositoryItemColorEdit1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemColorEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RepositoryItemImageEdit1.Name" xml:space="preserve">
<value>RepositoryItemImageEdit1</value>
</data>
<data name="&gt;&gt;RepositoryItemImageEdit1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemImageEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RepositoryItemPictureEdit2.Name" xml:space="preserve">
<value>RepositoryItemPictureEdit2</value>
</data>
<data name="&gt;&gt;RepositoryItemPictureEdit2.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControlGroup2.Name" xml:space="preserve">
<value>LayoutControlGroup2</value>
</data>