Compare commits

...

4 Commits

Author SHA1 Message Date
Jonathan Jenne
0a01bf59ef 15.01.2024 2024-01-15 16:31:35 +01:00
Jonathan Jenne
a4ed41419d add final status 2024-01-15 13:54:52 +01:00
Jonathan Jenne
6460c2b4ea improve report strings 2024-01-15 13:54:39 +01:00
Jonathan Jenne
91930c94e9 make access code readonly 2024-01-15 13:54:23 +01:00
17 changed files with 420 additions and 434 deletions

View File

@ -9,8 +9,8 @@
EnvelopeSent = 1004 ' Nicht verwendet EnvelopeSent = 1004 ' Nicht verwendet
EnvelopePartlySigned = 1005 EnvelopePartlySigned = 1005
EnvelopeCompletelySigned = 1006 EnvelopeCompletelySigned = 1006
EnvelopeArchived = 1007 EnvelopeReportCreated = 1007
EnvelopeTransmittedDMS = 1008 EnvelopeArchived = 1008
EnvelopeDeleted = 1009 EnvelopeDeleted = 1009
AccessCodeRequested = 2001 AccessCodeRequested = 2001
AccessCodeCorrect = 2002 AccessCodeCorrect = 2002
@ -79,6 +79,14 @@
Landscape = 1 Landscape = 1
End Enum End Enum
Public Enum EmailTemplateType
DocumentReceived
DocumentSigned
DocumentDeleted
DocumentCompleted
DocumentAccessCodeReceived
End Enum
#End Region #End Region
#Region "Constants" #Region "Constants"

View File

@ -1,173 +1,8 @@
Imports DigitalData.Modules.Base Public Class EmailTemplate
Imports DigitalData.Modules.Logging
Public Class EmailTemplate Public Property Id As Integer
Private _DocumentReceivedBodyTemplate As List(Of String) Public Property Name As String
Private _DocumentSignedBodyTemplate As List(Of String) Public Property Body As String
Private _DocumentCompletedBodyTemplate As List(Of String) Public Property Subject As String
Private _DocumentDeletedBodyTemplate As List(Of String)
Private _DocumentAccessCodeReceivedBodyTemplate As List(Of String)
Private _DocumentReceivedSubjectTemplate As String
Private _DocumentSignedSubjectTemplate As String
Private _DocumentDeletedSubjectTemplate As String
Private _DocumentCompletedSubjectTemplate As String
Private _DocumentAccessCodeReceivedSubjectTemplate As String
Private _replaceDictionary As Dictionary(Of String, String)
Private ReadOnly DbConfig As DbConfig
Private ReadOnly LogConfig As LogConfig
Private ReadOnly Logger As Logger
Public Sub New(pState As State)
InitBodyTemplates()
InitSubjectTemplates()
DbConfig = pState.DbConfig
LogConfig = pState.LogConfig
Logger = LogConfig.GetLogger()
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]'"
_DocumentAccessCodeReceivedSubjectTemplate = "Zugriffscode für Dokument erhalten: '[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()
'_DocumentAccessCodeReceivedBodyTemplate = Common.My.Resources.
_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]"
}
_DocumentAccessCodeReceivedBodyTemplate = New List(Of String) From {
"Guten Tag [NAME_RECEIVER]",
"",
"[NAME_SENDER] hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet. ",
"Verwenden Sie den folgenden Zugriffscode, um das Dokument einzusehen:",
"",
"[DOCUMENT_ACCESS_CODE]",
"",
"Vielen Dank für die Nutzung von",
"[NAME_PORTAL]"
}
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)
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 FillDocumentAccessCodeReceivedEmailBody(pEmailData As EmailData)
FillEmailBody(pEmailData, _DocumentAccessCodeReceivedBodyTemplate)
FillEmailSubject(pEmailData, _DocumentAccessCodeReceivedSubjectTemplate)
End Sub
Private 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
Private 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 End Class

View File

@ -130,6 +130,7 @@
<Compile Include="Entities\ElementStatus.vb" /> <Compile Include="Entities\ElementStatus.vb" />
<Compile Include="Entities\EmailData.vb" /> <Compile Include="Entities\EmailData.vb" />
<Compile Include="Entities\EmailTemplate.vb" /> <Compile Include="Entities\EmailTemplate.vb" />
<Compile Include="Services\TemplateService.vb" />
<Compile Include="Entities\Envelope.vb" /> <Compile Include="Entities\Envelope.vb" />
<Compile Include="Entities\EnvelopeDocument.vb" /> <Compile Include="Entities\EnvelopeDocument.vb" />
<Compile Include="Entities\EnvelopeDocumentElement.vb" /> <Compile Include="Entities\EnvelopeDocumentElement.vb" />
@ -153,6 +154,7 @@
<Compile Include="Models\DocumentStatusModel.vb" /> <Compile Include="Models\DocumentStatusModel.vb" />
<Compile Include="Models\ElementStatusModel.vb" /> <Compile Include="Models\ElementStatusModel.vb" />
<Compile Include="Models\EmailModel.vb" /> <Compile Include="Models\EmailModel.vb" />
<Compile Include="Models\EmailTemplateModel.vb" />
<Compile Include="Models\EnvelopeModel.vb" /> <Compile Include="Models\EnvelopeModel.vb" />
<Compile Include="Models\HistoryModel.vb" /> <Compile Include="Models\HistoryModel.vb" />
<Compile Include="Models\ReceiverModel.vb" /> <Compile Include="Models\ReceiverModel.vb" />

View File

@ -119,6 +119,11 @@ Namespace Jobs
Throw New ApplicationException("Document could not be finalized") Throw New ApplicationException("Document could not be finalized")
End If End If
If ActionService.CreateReport(oEnvelope) = False Then
Logger.Warn("Document Report could not be created!")
Throw New ApplicationException("Document Report could not be created")
End If
Logger.Debug("Creating report..") Logger.Debug("Creating report..")
Dim oReport As Byte() = ReportCreator.CreateReport(oEnvelope) Dim oReport As Byte() = ReportCreator.CreateReport(oEnvelope)
Logger.Debug("Report created.") Logger.Debug("Report created.")

View File

@ -0,0 +1,31 @@
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Common.Constants
Public Class EmailTemplateModel
Inherits BaseModel
Public Sub New(pState As State)
MyBase.New(pState)
End Sub
Private Function ToEmailTemplate(pRow As DataRow) As EmailTemplate
Return New EmailTemplate() With {
.Id = pRow.ItemEx("GUID", 0),
.Name = pRow.ItemEx("NAME", ""),
.Body = pRow.ItemEx("BODY", ""),
.Subject = pRow.ItemEx("SUBJECT", "")
}
End Function
Public Function GetById(pEmailTemplateName As EmailTemplateType) As EmailTemplate
Dim oSql As String = $"SELECT * FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = '{pEmailTemplateName}'"
Dim oTable As DataTable = Database.GetDatatable(oSql)
If oTable.Rows.Count = 0 Then
Return Nothing
End If
Dim oRow = oTable.Rows.Item(0)
Return ToEmailTemplate(oRow)
End Function
End Class

View File

@ -8,12 +8,12 @@ Imports System.Runtime.InteropServices
' Werte der Assemblyattribute überprüfen ' Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("Base")> <Assembly: AssemblyTitle("EnvelopeGenerator.Common")>
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")> <Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("Base")> <Assembly: AssemblyProduct("EnvelopeGenerator.Common")>
<Assembly: AssemblyCopyright("Copyright © 2023")> <Assembly: AssemblyCopyright("Copyright © 2024")>
<Assembly: AssemblyTrademark("1.3.4.0")> <Assembly: AssemblyTrademark("1.3.6.0")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' indem Sie "*" wie unten gezeigt eingeben: ' indem Sie "*" wie unten gezeigt eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.3.5.0")> <Assembly: AssemblyVersion("1.3.6.0")>
<Assembly: AssemblyFileVersion("1.3.5.0")> <Assembly: AssemblyFileVersion("1.3.6.0")>

View File

@ -28,6 +28,25 @@ Partial Public Class rptEnvelopeHistory
Me.pageInfo2 = New DevExpress.XtraReports.UI.XRPageInfo() Me.pageInfo2 = New DevExpress.XtraReports.UI.XRPageInfo()
Me.ReportHeader = New DevExpress.XtraReports.UI.ReportHeaderBand() Me.ReportHeader = New DevExpress.XtraReports.UI.ReportHeaderBand()
Me.label1 = New DevExpress.XtraReports.UI.XRLabel() Me.label1 = New DevExpress.XtraReports.UI.XRLabel()
Me.XrTable3 = New DevExpress.XtraReports.UI.XRTable()
Me.XrTableRow8 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell13 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell15 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow9 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell14 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell17 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell16 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell18 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow10 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell19 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell20 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell21 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell22 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow11 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell23 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell24 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell25 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell26 = New DevExpress.XtraReports.UI.XRTableCell()
Me.GroupHeader1 = New DevExpress.XtraReports.UI.GroupHeaderBand() Me.GroupHeader1 = New DevExpress.XtraReports.UI.GroupHeaderBand()
Me.table1 = New DevExpress.XtraReports.UI.XRTable() Me.table1 = New DevExpress.XtraReports.UI.XRTable()
Me.tableRow1 = New DevExpress.XtraReports.UI.XRTableRow() Me.tableRow1 = New DevExpress.XtraReports.UI.XRTableRow()
@ -45,30 +64,11 @@ Partial Public Class rptEnvelopeHistory
Me.DetailData1 = New DevExpress.XtraReports.UI.XRControlStyle() Me.DetailData1 = New DevExpress.XtraReports.UI.XRControlStyle()
Me.DetailData3_Odd = New DevExpress.XtraReports.UI.XRControlStyle() Me.DetailData3_Odd = New DevExpress.XtraReports.UI.XRControlStyle()
Me.PageInfo = New DevExpress.XtraReports.UI.XRControlStyle() Me.PageInfo = New DevExpress.XtraReports.UI.XRControlStyle()
Me.XrTable3 = New DevExpress.XtraReports.UI.XRTable()
Me.XrTableRow8 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell13 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell15 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow9 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell14 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell16 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell17 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell18 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow10 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell19 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell20 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell21 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell22 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableRow11 = New DevExpress.XtraReports.UI.XRTableRow()
Me.XrTableCell23 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell24 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell25 = New DevExpress.XtraReports.UI.XRTableCell()
Me.XrTableCell26 = New DevExpress.XtraReports.UI.XRTableCell()
Me.GalleryDropDown1 = New DevExpress.XtraBars.Ribbon.GalleryDropDown(Me.components) Me.GalleryDropDown1 = New DevExpress.XtraBars.Ribbon.GalleryDropDown(Me.components)
Me.ObjectDataSource1 = New DevExpress.DataAccess.ObjectBinding.ObjectDataSource(Me.components) Me.ObjectDataSource1 = New DevExpress.DataAccess.ObjectBinding.ObjectDataSource(Me.components)
CType(Me.XrTable3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.table1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.table1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.table2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.table2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.XrTable3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GalleryDropDown1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GalleryDropDown1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me, System.ComponentModel.ISupportInitialize).BeginInit()
@ -158,186 +158,7 @@ Partial Public Class rptEnvelopeHistory
Me.label1.StylePriority.UseFont = False Me.label1.StylePriority.UseFont = False
Me.label1.StylePriority.UseForeColor = False Me.label1.StylePriority.UseForeColor = False
Me.label1.StylePriority.UsePadding = False Me.label1.StylePriority.UsePadding = False
Me.label1.Text = "Signierungs Zertifikat" Me.label1.Text = "Signierungszertifikat"
'
'GroupHeader1
'
Me.GroupHeader1.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.table1})
Me.GroupHeader1.Dpi = 254.0!
Me.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail
Me.GroupHeader1.HeightF = 71.12!
Me.GroupHeader1.Name = "GroupHeader1"
'
'table1
'
Me.table1.Dpi = 254.0!
Me.table1.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
Me.table1.Name = "table1"
Me.table1.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.tableRow1})
Me.table1.SizeF = New System.Drawing.SizeF(1900.0!, 71.12!)
'
'tableRow1
'
Me.tableRow1.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.tableCell1, Me.tableCell2, Me.tableCell3})
Me.tableRow1.Dpi = 254.0!
Me.tableRow1.Name = "tableRow1"
Me.tableRow1.Weight = 1.0R
'
'tableCell1
'
Me.tableCell1.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell1.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell1.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell1.BorderWidth = 1.0!
Me.tableCell1.Dpi = 254.0!
Me.tableCell1.ForeColor = System.Drawing.Color.Black
Me.tableCell1.Name = "tableCell1"
Me.tableCell1.StyleName = "DetailCaption1"
Me.tableCell1.StylePriority.UseBackColor = False
Me.tableCell1.StylePriority.UseBorderColor = False
Me.tableCell1.StylePriority.UseBorders = False
Me.tableCell1.StylePriority.UseBorderWidth = False
Me.tableCell1.StylePriority.UseForeColor = False
Me.tableCell1.Text = "Ereignis"
Me.tableCell1.Weight = 0.626953898336187R
'
'tableCell2
'
Me.tableCell2.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell2.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell2.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell2.BorderWidth = 1.0!
Me.tableCell2.Dpi = 254.0!
Me.tableCell2.ForeColor = System.Drawing.Color.Black
Me.tableCell2.Name = "tableCell2"
Me.tableCell2.StyleName = "DetailCaption1"
Me.tableCell2.StylePriority.UseBackColor = False
Me.tableCell2.StylePriority.UseBorderColor = False
Me.tableCell2.StylePriority.UseBorders = False
Me.tableCell2.StylePriority.UseBorderWidth = False
Me.tableCell2.StylePriority.UseForeColor = False
Me.tableCell2.Text = "Benutzer"
Me.tableCell2.Weight = 0.30791185539648991R
'
'tableCell3
'
Me.tableCell3.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell3.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell3.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell3.BorderWidth = 1.0!
Me.tableCell3.Dpi = 254.0!
Me.tableCell3.ForeColor = System.Drawing.Color.Black
Me.tableCell3.Name = "tableCell3"
Me.tableCell3.StyleName = "DetailCaption1"
Me.tableCell3.StylePriority.UseBackColor = False
Me.tableCell3.StylePriority.UseBorderColor = False
Me.tableCell3.StylePriority.UseBorders = False
Me.tableCell3.StylePriority.UseBorderWidth = False
Me.tableCell3.StylePriority.UseForeColor = False
Me.tableCell3.Text = "Zeitstempel"
Me.tableCell3.Weight = 0.25860160582871317R
'
'Detail
'
Me.Detail.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.table2})
Me.Detail.Dpi = 254.0!
Me.Detail.HeightF = 86.174!
Me.Detail.HierarchyPrintOptions.Indent = 50.8!
Me.Detail.Name = "Detail"
'
'table2
'
Me.table2.Dpi = 254.0!
Me.table2.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
Me.table2.Name = "table2"
Me.table2.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.tableRow2})
Me.table2.SizeF = New System.Drawing.SizeF(1900.0!, 63.42!)
'
'tableRow2
'
Me.tableRow2.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.tableCell4, Me.tableCell5, Me.tableCell6})
Me.tableRow2.Dpi = 254.0!
Me.tableRow2.Name = "tableRow2"
Me.tableRow2.Weight = 11.683999633789062R
'
'tableCell4
'
Me.tableCell4.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.tableCell4.Dpi = 254.0!
Me.tableCell4.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemStatusTranslated]")})
Me.tableCell4.Name = "tableCell4"
Me.tableCell4.StyleName = "DetailData1"
Me.tableCell4.StylePriority.UseBorders = False
Me.tableCell4.Weight = 0.62695389177331973R
'
'tableCell5
'
Me.tableCell5.Dpi = 254.0!
Me.tableCell5.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemUserReference]")})
Me.tableCell5.Name = "tableCell5"
Me.tableCell5.StyleName = "DetailData1"
Me.tableCell5.Weight = 0.30791178180943785R
'
'tableCell6
'
Me.tableCell6.Dpi = 254.0!
Me.tableCell6.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemDate]")})
Me.tableCell6.Name = "tableCell6"
Me.tableCell6.StyleName = "DetailData1"
Me.tableCell6.Weight = 0.25860166310065952R
'
'Title
'
Me.Title.BackColor = System.Drawing.Color.Transparent
Me.Title.BorderColor = System.Drawing.Color.Black
Me.Title.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.Title.BorderWidth = 1.0!
Me.Title.Font = New System.Drawing.Font("Arial", 14.25!)
Me.Title.ForeColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.Title.Name = "Title"
Me.Title.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
'
'DetailCaption1
'
Me.DetailCaption1.BackColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.DetailCaption1.BorderColor = System.Drawing.Color.White
Me.DetailCaption1.Borders = DevExpress.XtraPrinting.BorderSide.Left
Me.DetailCaption1.BorderWidth = 2.0!
Me.DetailCaption1.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold)
Me.DetailCaption1.ForeColor = System.Drawing.Color.White
Me.DetailCaption1.Name = "DetailCaption1"
Me.DetailCaption1.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailCaption1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'DetailData1
'
Me.DetailData1.BorderColor = System.Drawing.Color.Transparent
Me.DetailData1.Borders = DevExpress.XtraPrinting.BorderSide.Left
Me.DetailData1.BorderWidth = 2.0!
Me.DetailData1.Font = New System.Drawing.Font("Arial", 8.25!)
Me.DetailData1.ForeColor = System.Drawing.Color.Black
Me.DetailData1.Name = "DetailData1"
Me.DetailData1.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailData1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'DetailData3_Odd
'
Me.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb(CType(CType(231, Byte), Integer), CType(CType(231, Byte), Integer), CType(CType(231, Byte), Integer))
Me.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent
Me.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.DetailData3_Odd.BorderWidth = 1.0!
Me.DetailData3_Odd.Font = New System.Drawing.Font("Arial", 8.25!)
Me.DetailData3_Odd.ForeColor = System.Drawing.Color.Black
Me.DetailData3_Odd.Name = "DetailData3_Odd"
Me.DetailData3_Odd.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'PageInfo
'
Me.PageInfo.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold)
Me.PageInfo.ForeColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.PageInfo.Name = "PageInfo"
Me.PageInfo.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
' '
'XrTable3 'XrTable3
' '
@ -417,25 +238,6 @@ Partial Public Class rptEnvelopeHistory
Me.XrTableCell14.Text = "Name" Me.XrTableCell14.Text = "Name"
Me.XrTableCell14.Weight = 0.11578820509129036R Me.XrTableCell14.Weight = 0.11578820509129036R
' '
'XrTableCell16
'
Me.XrTableCell16.BackColor = System.Drawing.Color.White
Me.XrTableCell16.BorderColor = System.Drawing.Color.Empty
Me.XrTableCell16.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.XrTableCell16.Dpi = 254.0!
Me.XrTableCell16.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.XrTableCell16.ForeColor = System.Drawing.Color.Black
Me.XrTableCell16.Multiline = True
Me.XrTableCell16.Name = "XrTableCell16"
Me.XrTableCell16.StyleName = "DetailCaption1"
Me.XrTableCell16.StylePriority.UseBackColor = False
Me.XrTableCell16.StylePriority.UseBorderColor = False
Me.XrTableCell16.StylePriority.UseBorders = False
Me.XrTableCell16.StylePriority.UseFont = False
Me.XrTableCell16.StylePriority.UseForeColor = False
Me.XrTableCell16.Text = "Titel"
Me.XrTableCell16.Weight = 0.11578821158083684R
'
'XrTableCell17 'XrTableCell17
' '
Me.XrTableCell17.BackColor = System.Drawing.Color.White Me.XrTableCell17.BackColor = System.Drawing.Color.White
@ -456,6 +258,25 @@ Partial Public Class rptEnvelopeHistory
Me.XrTableCell17.Text = "XrTableCell17" Me.XrTableCell17.Text = "XrTableCell17"
Me.XrTableCell17.Weight = 0.2656113622128245R Me.XrTableCell17.Weight = 0.2656113622128245R
' '
'XrTableCell16
'
Me.XrTableCell16.BackColor = System.Drawing.Color.White
Me.XrTableCell16.BorderColor = System.Drawing.Color.Empty
Me.XrTableCell16.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.XrTableCell16.Dpi = 254.0!
Me.XrTableCell16.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.XrTableCell16.ForeColor = System.Drawing.Color.Black
Me.XrTableCell16.Multiline = True
Me.XrTableCell16.Name = "XrTableCell16"
Me.XrTableCell16.StyleName = "DetailCaption1"
Me.XrTableCell16.StylePriority.UseBackColor = False
Me.XrTableCell16.StylePriority.UseBorderColor = False
Me.XrTableCell16.StylePriority.UseBorders = False
Me.XrTableCell16.StylePriority.UseFont = False
Me.XrTableCell16.StylePriority.UseForeColor = False
Me.XrTableCell16.Text = "Titel"
Me.XrTableCell16.Weight = 0.11578821158083684R
'
'XrTableCell18 'XrTableCell18
' '
Me.XrTableCell18.BackColor = System.Drawing.Color.White Me.XrTableCell18.BackColor = System.Drawing.Color.White
@ -643,6 +464,187 @@ Partial Public Class rptEnvelopeHistory
Me.XrTableCell26.Text = "XrTableCell26" Me.XrTableCell26.Text = "XrTableCell26"
Me.XrTableCell26.Weight = 0.38280260446913161R Me.XrTableCell26.Weight = 0.38280260446913161R
' '
'GroupHeader1
'
Me.GroupHeader1.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.table1})
Me.GroupHeader1.Dpi = 254.0!
Me.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail
Me.GroupHeader1.HeightF = 71.12!
Me.GroupHeader1.Name = "GroupHeader1"
'
'table1
'
Me.table1.Dpi = 254.0!
Me.table1.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
Me.table1.Name = "table1"
Me.table1.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.tableRow1})
Me.table1.SizeF = New System.Drawing.SizeF(1900.0!, 71.12!)
'
'tableRow1
'
Me.tableRow1.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.tableCell1, Me.tableCell2, Me.tableCell3})
Me.tableRow1.Dpi = 254.0!
Me.tableRow1.Name = "tableRow1"
Me.tableRow1.Weight = 1.0R
'
'tableCell1
'
Me.tableCell1.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell1.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell1.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell1.BorderWidth = 1.0!
Me.tableCell1.Dpi = 254.0!
Me.tableCell1.ForeColor = System.Drawing.Color.Black
Me.tableCell1.Name = "tableCell1"
Me.tableCell1.StyleName = "DetailCaption1"
Me.tableCell1.StylePriority.UseBackColor = False
Me.tableCell1.StylePriority.UseBorderColor = False
Me.tableCell1.StylePriority.UseBorders = False
Me.tableCell1.StylePriority.UseBorderWidth = False
Me.tableCell1.StylePriority.UseForeColor = False
Me.tableCell1.Text = "Ereignis"
Me.tableCell1.Weight = 0.51726482588176181R
'
'tableCell2
'
Me.tableCell2.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell2.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell2.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell2.BorderWidth = 1.0!
Me.tableCell2.Dpi = 254.0!
Me.tableCell2.ForeColor = System.Drawing.Color.Black
Me.tableCell2.Name = "tableCell2"
Me.tableCell2.StyleName = "DetailCaption1"
Me.tableCell2.StylePriority.UseBackColor = False
Me.tableCell2.StylePriority.UseBorderColor = False
Me.tableCell2.StylePriority.UseBorders = False
Me.tableCell2.StylePriority.UseBorderWidth = False
Me.tableCell2.StylePriority.UseForeColor = False
Me.tableCell2.Text = "Benutzer"
Me.tableCell2.Weight = 0.45140669898958585R
'
'tableCell3
'
Me.tableCell3.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.tableCell3.BorderColor = System.Drawing.Color.FromArgb(CType(CType(165, Byte), Integer), CType(CType(36, Byte), Integer), CType(CType(49, Byte), Integer))
Me.tableCell3.Borders = DevExpress.XtraPrinting.BorderSide.Bottom
Me.tableCell3.BorderWidth = 1.0!
Me.tableCell3.Dpi = 254.0!
Me.tableCell3.ForeColor = System.Drawing.Color.Black
Me.tableCell3.Name = "tableCell3"
Me.tableCell3.StyleName = "DetailCaption1"
Me.tableCell3.StylePriority.UseBackColor = False
Me.tableCell3.StylePriority.UseBorderColor = False
Me.tableCell3.StylePriority.UseBorders = False
Me.tableCell3.StylePriority.UseBorderWidth = False
Me.tableCell3.StylePriority.UseForeColor = False
Me.tableCell3.Text = "Zeitstempel"
Me.tableCell3.Weight = 0.22479583469004233R
'
'Detail
'
Me.Detail.Controls.AddRange(New DevExpress.XtraReports.UI.XRControl() {Me.table2})
Me.Detail.Dpi = 254.0!
Me.Detail.HeightF = 86.174!
Me.Detail.HierarchyPrintOptions.Indent = 50.8!
Me.Detail.Name = "Detail"
'
'table2
'
Me.table2.Dpi = 254.0!
Me.table2.LocationFloat = New DevExpress.Utils.PointFloat(0!, 0!)
Me.table2.Name = "table2"
Me.table2.Rows.AddRange(New DevExpress.XtraReports.UI.XRTableRow() {Me.tableRow2})
Me.table2.SizeF = New System.Drawing.SizeF(1900.0!, 63.42!)
'
'tableRow2
'
Me.tableRow2.Cells.AddRange(New DevExpress.XtraReports.UI.XRTableCell() {Me.tableCell4, Me.tableCell5, Me.tableCell6})
Me.tableRow2.Dpi = 254.0!
Me.tableRow2.Name = "tableRow2"
Me.tableRow2.Weight = 11.683999633789062R
'
'tableCell4
'
Me.tableCell4.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.tableCell4.Dpi = 254.0!
Me.tableCell4.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemStatusTranslated]")})
Me.tableCell4.Name = "tableCell4"
Me.tableCell4.StyleName = "DetailData1"
Me.tableCell4.StylePriority.UseBorders = False
Me.tableCell4.Weight = 0.51726482142156094R
'
'tableCell5
'
Me.tableCell5.Dpi = 254.0!
Me.tableCell5.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemUserReference]")})
Me.tableCell5.Name = "tableCell5"
Me.tableCell5.StyleName = "DetailData1"
Me.tableCell5.Weight = 0.45140669932916544R
'
'tableCell6
'
Me.tableCell6.Dpi = 254.0!
Me.tableCell6.ExpressionBindings.AddRange(New DevExpress.XtraReports.UI.ExpressionBinding() {New DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[ItemDate]")})
Me.tableCell6.Name = "tableCell6"
Me.tableCell6.StyleName = "DetailData1"
Me.tableCell6.StylePriority.UseTextAlignment = False
Me.tableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight
Me.tableCell6.Weight = 0.22479581593269077R
'
'Title
'
Me.Title.BackColor = System.Drawing.Color.Transparent
Me.Title.BorderColor = System.Drawing.Color.Black
Me.Title.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.Title.BorderWidth = 1.0!
Me.Title.Font = New System.Drawing.Font("Arial", 14.25!)
Me.Title.ForeColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.Title.Name = "Title"
Me.Title.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
'
'DetailCaption1
'
Me.DetailCaption1.BackColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.DetailCaption1.BorderColor = System.Drawing.Color.White
Me.DetailCaption1.Borders = DevExpress.XtraPrinting.BorderSide.Left
Me.DetailCaption1.BorderWidth = 2.0!
Me.DetailCaption1.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold)
Me.DetailCaption1.ForeColor = System.Drawing.Color.White
Me.DetailCaption1.Name = "DetailCaption1"
Me.DetailCaption1.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailCaption1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'DetailData1
'
Me.DetailData1.BorderColor = System.Drawing.Color.Transparent
Me.DetailData1.Borders = DevExpress.XtraPrinting.BorderSide.Left
Me.DetailData1.BorderWidth = 2.0!
Me.DetailData1.Font = New System.Drawing.Font("Arial", 8.25!)
Me.DetailData1.ForeColor = System.Drawing.Color.Black
Me.DetailData1.Name = "DetailData1"
Me.DetailData1.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailData1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'DetailData3_Odd
'
Me.DetailData3_Odd.BackColor = System.Drawing.Color.FromArgb(CType(CType(231, Byte), Integer), CType(CType(231, Byte), Integer), CType(CType(231, Byte), Integer))
Me.DetailData3_Odd.BorderColor = System.Drawing.Color.Transparent
Me.DetailData3_Odd.Borders = DevExpress.XtraPrinting.BorderSide.None
Me.DetailData3_Odd.BorderWidth = 1.0!
Me.DetailData3_Odd.Font = New System.Drawing.Font("Arial", 8.25!)
Me.DetailData3_Odd.ForeColor = System.Drawing.Color.Black
Me.DetailData3_Odd.Name = "DetailData3_Odd"
Me.DetailData3_Odd.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
Me.DetailData3_Odd.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft
'
'PageInfo
'
Me.PageInfo.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold)
Me.PageInfo.ForeColor = System.Drawing.Color.FromArgb(CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer), CType(CType(75, Byte), Integer))
Me.PageInfo.Name = "PageInfo"
Me.PageInfo.Padding = New DevExpress.XtraPrinting.PaddingInfo(15, 15, 0, 0, 254.0!)
'
'GalleryDropDown1 'GalleryDropDown1
' '
Me.GalleryDropDown1.Manager = Nothing Me.GalleryDropDown1.Manager = Nothing
@ -671,9 +673,9 @@ Partial Public Class rptEnvelopeHistory
Me.Version = "21.2" Me.Version = "21.2"
Me.Watermark.ImageSource = New DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("rptEnvelopeHistory.Watermark.ImageSource")) Me.Watermark.ImageSource = New DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("rptEnvelopeHistory.Watermark.ImageSource"))
Me.Watermark.ImageTransparency = 220 Me.Watermark.ImageTransparency = 220
CType(Me.XrTable3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.table1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.table1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.table2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.table2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.XrTable3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GalleryDropDown1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GalleryDropDown1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ObjectDataSource1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me, System.ComponentModel.ISupportInitialize).EndInit() CType(Me, System.ComponentModel.ISupportInitialize).EndInit()

View File

@ -124,4 +124,12 @@ Public Class ActionService
Return EmailService.SendDocumentCompletedEmailToCreator(pEnvelope, pAttachment) Return EmailService.SendDocumentCompletedEmailToCreator(pEnvelope, pAttachment)
End Function End Function
Public Function CreateReport(pEnvelope As Envelope) As Boolean
If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeReportCreated, "System") = False Then
Return False
End If
Return True
End Function
End Class End Class

View File

@ -6,13 +6,13 @@ Public Class EmailService
Inherits BaseService Inherits BaseService
Private ReadOnly EmailModel As EmailModel Private ReadOnly EmailModel As EmailModel
Private ReadOnly EmailTemplate As EmailTemplate Private ReadOnly EmailTemplate As TemplateService
Public Sub New(pState As State) Public Sub New(pState As State)
MyBase.New(pState) MyBase.New(pState)
EmailModel = New EmailModel(pState) EmailModel = New EmailModel(pState)
EmailTemplate = New EmailTemplate(pState) EmailTemplate = New TemplateService(pState)
End Sub End Sub
Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean

View 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

View File

@ -182,7 +182,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Erstellt ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Umschlag Erstellt ähnelt.
'''</summary> '''</summary>
Public Shared ReadOnly Property EnvelopeCreated() As String Public Shared ReadOnly Property EnvelopeCreated() As String
Get Get
@ -191,7 +191,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Gelöscht ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Umschlag Gelöscht ähnelt.
'''</summary> '''</summary>
Public Shared ReadOnly Property EnvelopeDeleted() As String Public Shared ReadOnly Property EnvelopeDeleted() As String
Get Get
@ -217,6 +217,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Signierungszertifikat erstellt ähnelt.
'''</summary>
Public Shared ReadOnly Property EnvelopeReportCreated() As String
Get
Return ResourceManager.GetString("EnvelopeReportCreated", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Gespeichert ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Gespeichert ähnelt.
'''</summary> '''</summary>
@ -235,15 +244,6 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die DMS ähnelt.
'''</summary>
Public Shared ReadOnly Property EnvelopeTransmittedDMS() As String
Get
Return ResourceManager.GetString("EnvelopeTransmittedDMS", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Zugriffscode versendet ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Zugriffscode versendet ähnelt.
'''</summary> '''</summary>
@ -263,7 +263,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Bestätigung versendet ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Signaturbestätigung versendet ähnelt.
'''</summary> '''</summary>
Public Shared ReadOnly Property MessageConfirmationSent() As String Public Shared ReadOnly Property MessageConfirmationSent() As String
Get Get
@ -281,7 +281,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Einladung versendet ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Dokumentenlink versendet ähnelt.
'''</summary> '''</summary>
Public Shared ReadOnly Property MessageInvitationSent() As String Public Shared ReadOnly Property MessageInvitationSent() As String
Get Get

View File

@ -165,15 +165,15 @@
<data name="EnvelopeQueued" xml:space="preserve"> <data name="EnvelopeQueued" xml:space="preserve">
<value>Queued</value> <value>Queued</value>
</data> </data>
<data name="EnvelopeReportCreated" xml:space="preserve">
<value>Signature certificate created</value>
</data>
<data name="EnvelopeSaved" xml:space="preserve"> <data name="EnvelopeSaved" xml:space="preserve">
<value>Saved</value> <value>Saved</value>
</data> </data>
<data name="EnvelopeSent" xml:space="preserve"> <data name="EnvelopeSent" xml:space="preserve">
<value>Sent</value> <value>Sent</value>
</data> </data>
<data name="EnvelopeTransmittedDMS" xml:space="preserve">
<value>DMS</value>
</data>
<data name="MessageAccessCodeSent" xml:space="preserve"> <data name="MessageAccessCodeSent" xml:space="preserve">
<value>Accesscode sent</value> <value>Accesscode sent</value>
</data> </data>

View File

@ -157,10 +157,10 @@
<value>Vollständig signiert</value> <value>Vollständig signiert</value>
</data> </data>
<data name="EnvelopeCreated" xml:space="preserve"> <data name="EnvelopeCreated" xml:space="preserve">
<value>Erstellt</value> <value>Umschlag Erstellt</value>
</data> </data>
<data name="EnvelopeDeleted" xml:space="preserve"> <data name="EnvelopeDeleted" xml:space="preserve">
<value>Gelöscht</value> <value>Umschlag Gelöscht</value>
</data> </data>
<data name="EnvelopePartlySigned" xml:space="preserve"> <data name="EnvelopePartlySigned" xml:space="preserve">
<value>Teil-Signiert</value> <value>Teil-Signiert</value>
@ -168,15 +168,15 @@
<data name="EnvelopeQueued" xml:space="preserve"> <data name="EnvelopeQueued" xml:space="preserve">
<value>Umschlag in Queue</value> <value>Umschlag in Queue</value>
</data> </data>
<data name="EnvelopeReportCreated" xml:space="preserve">
<value>Signierungszertifikat erstellt</value>
</data>
<data name="EnvelopeSaved" xml:space="preserve"> <data name="EnvelopeSaved" xml:space="preserve">
<value>Gespeichert</value> <value>Gespeichert</value>
</data> </data>
<data name="EnvelopeSent" xml:space="preserve"> <data name="EnvelopeSent" xml:space="preserve">
<value>Gesendet</value> <value>Gesendet</value>
</data> </data>
<data name="EnvelopeTransmittedDMS" xml:space="preserve">
<value>DMS</value>
</data>
<data name="MessageAccessCodeSent" xml:space="preserve"> <data name="MessageAccessCodeSent" xml:space="preserve">
<value>Zugriffscode versendet</value> <value>Zugriffscode versendet</value>
</data> </data>
@ -184,13 +184,13 @@
<value>Abschlussemail versendet</value> <value>Abschlussemail versendet</value>
</data> </data>
<data name="MessageConfirmationSent" xml:space="preserve"> <data name="MessageConfirmationSent" xml:space="preserve">
<value>Bestätigung versendet</value> <value>Signaturbestätigung versendet</value>
</data> </data>
<data name="MessageDeletionSent" xml:space="preserve"> <data name="MessageDeletionSent" xml:space="preserve">
<value>Löschinformation versendet</value> <value>Löschinformation versendet</value>
</data> </data>
<data name="MessageInvitationSent" xml:space="preserve"> <data name="MessageInvitationSent" xml:space="preserve">
<value>Einladung versendet</value> <value>Dokumentenlink versendet</value>
</data> </data>
<data name="No" xml:space="preserve"> <data name="No" xml:space="preserve">
<value>Nein</value> <value>Nein</value>

View File

@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyCompany("Digital Data")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Envelope Generator")> <Assembly: AssemblyProduct("Envelope Generator")>
<Assembly: AssemblyCopyright("Copyright © 2024")> <Assembly: AssemblyCopyright("Copyright © 2024")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("2.4.4.0")>
<Assembly: AssemblyCulture("")> <Assembly: AssemblyCulture("")>
' Setting ComVisible to false makes the types in this assembly not visible ' Setting ComVisible to false makes the types in this assembly not visible
@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices
' You can specify all the values or you can default the Build and Revision Numbers ' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below: ' by using the '*' as shown below:
' [assembly: AssemblyVersion("1.0.*")] ' [assembly: AssemblyVersion("1.0.*")]
<Assembly: AssemblyVersion("2.3.1.0")> <Assembly: AssemblyVersion("2.4.4.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -502,6 +502,8 @@ Partial Public Class frmEnvelopeEditor
resources.ApplyResources(Me.colAccessCode, "colAccessCode") resources.ApplyResources(Me.colAccessCode, "colAccessCode")
Me.colAccessCode.FieldName = "AccessCode" Me.colAccessCode.FieldName = "AccessCode"
Me.colAccessCode.Name = "colAccessCode" Me.colAccessCode.Name = "colAccessCode"
Me.colAccessCode.OptionsColumn.AllowEdit = False
Me.colAccessCode.OptionsColumn.ReadOnly = True
' '
'RepositoryItemEmailEdit 'RepositoryItemEmailEdit
' '

View File

@ -8,11 +8,11 @@ Imports System.Runtime.InteropServices
' Werte der Assemblyattribute überprüfen ' Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("DDEmailService")> <Assembly: AssemblyTitle("EnvelopeGenerator.Service")>
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")> <Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("DDEmailService")> <Assembly: AssemblyProduct("EnvelopeGenerator.Service")>
<Assembly: AssemblyCopyright("Copyright © 2023")> <Assembly: AssemblyCopyright("Copyright © 2024")>
<Assembly: AssemblyTrademark("1.5.2.0")> <Assembly: AssemblyTrademark("1.5.2.0")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>

View File

@ -14,12 +14,7 @@
</header> </header>
<section class="text-center"> <section class="text-center">
<p>Wir haben Ihnen gerade den Zugriffscode an die hinterlegte Email Adresse gesendet.</p> <p>Wir haben Ihnen gerade den Zugriffscode an die hinterlegte Email Adresse gesendet. Dies kann evtl. einige Minuten dauern.</p>
<details>
<summary>Sie haben keinen Zugriffscode erhalten?</summary>
<p>Bitte überprüfen Sie Ihr Email Postfach inklusive Spam-Ordner. Sie können auch den Absender bitten, Ihnen den Code auf anderem Wege zukommen zu lassen.</p>
</details>
</section> </section>
<section> <section>
@ -34,4 +29,11 @@
</div> </div>
</form> </form>
</section> </section>
<section class="text-center">
<details>
<summary>Sie haben keinen Zugriffscode erhalten?</summary>
<p>Bitte überprüfen Sie Ihr Email Postfach inklusive Spam-Ordner. Sie können auch den Absender bitten, Ihnen den Code auf anderem Wege zukommen zu lassen.</p>
</details>
</section>
</div> </div>