Compare commits

...

4 Commits

Author SHA1 Message Date
Jonathan Jenne
0dfc9b4f09 tweaking signature frame 2023-12-12 16:10:30 +01:00
Jonathan Jenne
8581cb555a service 2023-12-12 16:10:08 +01:00
Jonathan Jenne
97987aa22f form changes 2023-12-12 16:09:54 +01:00
Jonathan Jenne
f8b30e1a06 first pass of creating report 2023-12-12 16:09:08 +01:00
25 changed files with 1312 additions and 1313 deletions

View File

@@ -136,8 +136,9 @@
<Compile Include="Entities\State.vb" /> <Compile Include="Entities\State.vb" />
<Compile Include="Entities\User.vb" /> <Compile Include="Entities\User.vb" />
<Compile Include="Helpers.vb" /> <Compile Include="Helpers.vb" />
<Compile Include="Jobs\CertificateDocumentJob.vb" /> <Compile Include="Jobs\FinalizeDocument\FinalizeDocumentExceptions.vb" />
<Compile Include="Jobs\PDFBurner.vb" /> <Compile Include="Jobs\FinalizeDocument\FinalizeDocumentJob.vb" />
<Compile Include="Jobs\FinalizeDocument\PDFBurner.vb" />
<Compile Include="Models\BaseModel.vb" /> <Compile Include="Models\BaseModel.vb" />
<Compile Include="Models\CertificateModel.vb" /> <Compile Include="Models\CertificateModel.vb" />
<Compile Include="Models\ChartModel.vb" /> <Compile Include="Models\ChartModel.vb" />
@@ -150,6 +151,7 @@
<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" />
<Compile Include="Models\ReportModel.vb" />
<Compile Include="Models\UserModel.vb" /> <Compile Include="Models\UserModel.vb" />
<Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">
@@ -167,9 +169,9 @@
<DependentUpon>Settings.settings</DependentUpon> <DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput> <DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile> </Compile>
<Compile Include="Reports\ReportCreator.vb" /> <Compile Include="Jobs\FinalizeDocument\ReportCreator.vb" />
<Compile Include="Reports\ReportItem.vb" /> <Compile Include="Jobs\FinalizeDocument\ReportItem.vb" />
<Compile Include="Reports\ReportSource.vb" /> <Compile Include="Jobs\FinalizeDocument\ReportSource.vb" />
<Compile Include="Reports\rptEnvelopeHistory.Designer.vb"> <Compile Include="Reports\rptEnvelopeHistory.Designer.vb">
<DependentUpon>rptEnvelopeHistory.vb</DependentUpon> <DependentUpon>rptEnvelopeHistory.vb</DependentUpon>
</Compile> </Compile>

View File

@@ -0,0 +1,52 @@
Namespace Jobs.FinalizeDocument
Public Class FinalizeDocumentExceptions
Public Class MergeDocumentException
Inherits ApplicationException
Public Sub New(message As String)
MyBase.New(message)
End Sub
Public Sub New(message As String, innerException As Exception)
MyBase.New(message, innerException)
End Sub
End Class
Public Class BurnAnnotationException
Inherits ApplicationException
Public Sub New(message As String)
MyBase.New(message)
End Sub
Public Sub New(message As String, innerException As Exception)
MyBase.New(message, innerException)
End Sub
End Class
Public Class CreateReportException
Inherits ApplicationException
Public Sub New(message As String)
MyBase.New(message)
End Sub
Public Sub New(message As String, innerException As Exception)
MyBase.New(message, innerException)
End Sub
End Class
Public Class ExportDocumentException
Inherits ApplicationException
Public Sub New(message As String)
MyBase.New(message)
End Sub
Public Sub New(message As String, innerException As Exception)
MyBase.New(message, innerException)
End Sub
End Class
End Class
End Namespace

View File

@@ -5,25 +5,31 @@ Imports GdPicture14
Imports Quartz Imports Quartz
Imports System.Security.Cryptography Imports System.Security.Cryptography
Imports System.IO Imports System.IO
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument
Imports System.Web.Caching
Imports System.Web.UI
Namespace Jobs Namespace Jobs
Public Class CertificateDocumentJob Public Class FinalizeDocumentJob
Implements IJob Implements IJob
Private LicenseManager As New LicenseManager() Private ReadOnly LicenseManager As New LicenseManager()
Private GdViewer As GdViewer Private GdViewer As GdViewer
Private ConfigModel As ConfigModel
Private EnvelopeModel As EnvelopeModel
Private LogConfig As LogConfig Private LogConfig As LogConfig
Private Logger As Logger Private Logger As Logger
Private Database As MSSQLServer Private Database As MSSQLServer
Private Config As DbConfig Private Config As DbConfig
Private ConfigModel As ConfigModel
Private EnvelopeModel As EnvelopeModel
Private ReportModel As ReportModel
Private ActionService As ActionService Private ActionService As ActionService
Private PDFBurner As PDFBurner Private PDFBurner As PDFBurner
Private ReportCreator As ReportCreator
Private Class EnvelopeData Private Class EnvelopeData
Public EnvelopeId As Integer Public EnvelopeId As Integer
@@ -45,15 +51,19 @@ Namespace Jobs
GdViewer = New GdViewer() GdViewer = New GdViewer()
LicenseManager.RegisterKEY(oGdPictureKey) LicenseManager.RegisterKEY(oGdPictureKey)
Logger.Debug("Loading PDFBurner..")
PDFBurner = New PDFBurner(LogConfig, oGdPictureKey)
Logger.Debug("Loading Database..") Logger.Debug("Loading Database..")
Database = GetDatabase(pContext, LogConfig) Database = GetDatabase(pContext, LogConfig)
Logger.Debug("Loading Models & Services") Logger.Debug("Loading Models & Services")
InitializeModels() Dim oState = GetState()
InitializeServices() InitializeModels(oState)
InitializeServices(oState)
Logger.Debug("Loading PDFBurner..")
PDFBurner = New PDFBurner(LogConfig, oGdPictureKey)
Logger.Debug("Loading ReportCreator..")
ReportCreator = New ReportCreator(LogConfig, oState)
Logger.Debug("Loading Configuration..") Logger.Debug("Loading Configuration..")
Config = ConfigModel.LoadConfiguration() Config = ConfigModel.LoadConfiguration()
@@ -65,130 +75,139 @@ Namespace Jobs
Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus}" Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus}"
Dim oTable = Database.GetDatatable(oSql) Dim oTable = Database.GetDatatable(oSql)
Dim oEnvelopeIds As List(Of Integer) = oTable.Rows.Cast(Of DataRow). Dim oEnvelopeIds As List(Of Integer) = oTable.Rows.Cast(Of DataRow).
Select(Function(r) r.Item("GUID")). Select(Function(r) r.Item("GUID")).
Cast(Of Integer). Cast(Of Integer).
ToList() ToList()
Logger.Info("Found [{0}] completed envelopes.", oEnvelopeIds.Count) Logger.Info("Found [{0}] completed envelopes.", oEnvelopeIds.Count)
Dim oTotal As Integer = oEnvelopeIds.Count
Dim oCurrent As Integer = 1
For Each oId In oEnvelopeIds For Each oId In oEnvelopeIds
Logger.Info("Finalizing Envelope [{0}]", oId) Logger.Info("Finalizing Envelope [{0}] ({1}/{2})", oId, oCurrent, oTotal)
Dim oEnvelopeData = GetEnvelopeData(oId)
If oEnvelopeData Is Nothing Then Logger.Debug("Loading Envelope..")
Logger.Warn("EnvelopeData could not be loaded for Envelope [{0}]!", oId) Dim oEnvelope = EnvelopeModel.GetById(oId)
If oEnvelope Is Nothing Then
Logger.Warn("Envelope could not be loaded for Id [{0}]!", oId)
Throw New ArgumentNullException("EnvelopeData") Throw New ArgumentNullException("EnvelopeData")
End If End If
If GenerateFinalPDF(oEnvelopeData) = False Then Logger.Debug("Loading Envelope Data..")
Dim oEnvelopeData = GetEnvelopeData(oId)
If oEnvelopeData Is Nothing Then
Logger.Warn("EnvelopeData could not be loaded for Id [{0}]!", oId)
Throw New ArgumentNullException("EnvelopeData")
End If
Logger.Debug("Burning Annotations to pdf")
Dim oBurnedDocument As Byte() = BurnAnnotationsToPdf(oEnvelopeData)
If oBurnedDocument Is Nothing Then
Logger.Warn("Document could not be finalized!") Logger.Warn("Document could not be finalized!")
Throw New ApplicationException("Document could not be finalized") Throw New ApplicationException("Document could not be finalized")
End If End If
' Dim oReport As Byte() = Await GenerateReportPdf(oId) Logger.Debug("Creating report..")
' MergeDocuments() Dim oReport As Byte() = ReportCreator.CreateReport(oEnvelope)
Dim oEnvelope = EnvelopeModel.GetById(oId) Logger.Debug("Merging documents..")
If oEnvelope Is Nothing Then Dim oMergedDocument As Byte() = MergeDocuments(oBurnedDocument, oReport)
Logger.Warn("Envelope could not loaded!")
Throw New ApplicationException("Envelope could not loaded!")
End If
Dim oOutputDirectoryPath = Config.ExportPath
Dim oOutputFilePath = Path.Combine(oOutputDirectoryPath, $"{oEnvelope.Uuid}.pdf")
Logger.Info("Writing finalized Pdf to disk..")
Logger.Info("Output path is [{0}]", oOutputFilePath)
Try
File.WriteAllBytes(oOutputFilePath, oMergedDocument)
Catch ex As Exception
Throw New ExportDocumentException("Could not export final document to disk!", ex)
Logger.Error(ex)
End Try
Logger.Debug("Setting envelope status..")
If ActionService.FinalizeEnvelope(oEnvelope) = False Then If ActionService.FinalizeEnvelope(oEnvelope) = False Then
Logger.Warn("Envelope could not be finalized!") Logger.Warn("Envelope could not be finalized!")
Throw New ApplicationException("Envelope could not be finalized") Throw New ApplicationException("Envelope could not be finalized")
End If End If
oCurrent += 1
Logger.Info("Envelope finalized!") Logger.Info("Envelope finalized!")
Next Next
Logger.Info("Completed job {0} successfully!", JobId) Logger.Info("Completed job {0} successfully!", JobId)
Catch ex As MergeDocumentException
Logger.Warn("Certificate Document job failed at step: Merging documents!")
Logger.Error(ex)
Catch ex As Exception Catch ex As Exception
Logger.Warn("Certificate Document job failed!") Logger.Warn("Certificate Document job failed!")
Logger.Error(ex) Logger.Error(ex)
End Try End Try
Logger.Info("Job execution for [{0}] ended", JobId)
End Function End Function
Private Function MergeDocuments(pDocumentPath As String, pReport As Byte()) Private Function MergeDocuments(pDocument As Byte(), pReport As Byte()) As Byte()
Using oDocumentStream As New MemoryStream(pDocument)
Using oReportStream As New MemoryStream(pReport)
Using oFinalStream As New MemoryStream()
Using oDocumentPDF As New GdPicturePDF()
Using oReportPDF As New GdPicturePDF()
Using oGdPicturePDF As New GdPicturePDF() ' Load the source file into memory
Using oGdPicturePDFReport As New GdPicturePDF() oDocumentPDF.LoadFromStream(oDocumentStream, True)
Using oStream As New MemoryStream(pReport) If oDocumentPDF.GetStat() Then
Throw New MergeDocumentException($"Document could not be loaded: {oDocumentPDF.GetStat}")
End If
' Load the source file into memory ' Load the report file into memory
If oGdPicturePDF.LoadFromFile(pDocumentPath, True) <> GdPictureStatus.OK Then oReportPDF.LoadFromStream(oReportStream, True)
Throw New ApplicationException("Document could not be loaded!") If oDocumentPDF.GetStat() Then
End If Throw New MergeDocumentException($"Report could not be loaded: {oDocumentPDF.GetStat}")
End If
' Load the report file into memory ' Merge the documents
If oGdPicturePDFReport.LoadFromStream(oStream, True) <> GdPictureStatus.OK Then Dim oMergedPDF = oDocumentPDF.Merge2Documents(oDocumentPDF, oReportPDF)
Throw New ApplicationException("Report could not be loaded!") If oDocumentPDF.GetStat() Then
End If Throw New MergeDocumentException($"Documents could not be merged: {oDocumentPDF.GetStat}")
End If
If oGdPicturePDF.ClonePages(oGdPicturePDFReport, "*") = GdPictureStatus.OK Then oMergedPDF.SaveToStream(oFinalStream)
Throw New ApplicationException("Report could not be loaded!")
End If
Return oFinalStream.ToArray()
End Using
End Using
End Using End Using
End Using End Using
End Using End Using
End Function End Function
Private Function GenerateFinalPDF(pData As EnvelopeData) As Boolean Private Function BurnAnnotationsToPdf(pData As EnvelopeData) As Byte()
Dim pEnvelopeId = pData.EnvelopeId Dim pEnvelopeId = pData.EnvelopeId
Logger.Info("Burning [{0}] signatures", pData.AnnotationData.Count) Logger.Info("Burning [{0}] signatures", pData.AnnotationData.Count)
Dim oAnnotations = pData.AnnotationData Dim oAnnotations = pData.AnnotationData
Dim oInputPath = pData.DocumentPath Dim oInputPath = pData.DocumentPath
Dim oOutputPath = Config.ExportPath
Logger.Info("Input path: [{0}]", oInputPath) Logger.Info("Input path: [{0}]", oInputPath)
Logger.Info("Output path: [{0}]", oOutputPath) Dim oInputDocumentBuffer As Byte()
Try
oInputDocumentBuffer = File.ReadAllBytes(oInputPath)
Catch ex As Exception
Logger.Error(ex)
Throw New BurnAnnotationException("Source document could not be read from disk!", ex)
End Try
Dim oBurnResult = PDFBurner.BurnInstantJSONAnnotationsToPDF(oInputPath, oAnnotations, oOutputPath) Return PDFBurner.BurnInstantJSONAnnotationsToPDF(oInputDocumentBuffer, oAnnotations)
If oBurnResult = False Then
Logger.Warn("PDF Could not be burned for Envelope [{0}]!", pEnvelopeId)
Return False
End If
Return True
End Function End Function
'Private Async Function GenerateReportPdf(pEnvelopeId As Integer) As Task(Of Byte())
' Dim oSql As String = $"SELECT * FROM VWSIG_ENVELOPE_REPORT WHERE ENVELOPE_ID = {pEnvelopeId}"
' Dim oTable As DataTable = Database.GetDatatable(oSql)
' Dim oItems = GetReportSource(oTable)
' If oItems.Count = 0 Then
' Return Nothing
' End If
' Dim oState As New State() With {
' .Database = Database,
' .LogConfig = LogConfig
' }
' EnvelopeModel = New EnvelopeModel(oState)
' Dim oEnvelope = EnvelopeModel.GetById(pEnvelopeId)
' Dim oCreator As New ReportCreator(oEnvelope)
' Dim oBuffer = Await oCreator.CreateReport(oItems)
' Return oBuffer
'End Function
'Private Function GetReportSource(pDataTable As DataTable) As List(Of ReportItem)
' Return pDataTable.Rows.
' Cast(Of DataRow).
' Select(AddressOf ToReportItem).
' OrderByDescending(Function(r) r.ItemDate).
' ToList()
'End Function
Private Function GetEnvelopeData(pEnvelopeId As Integer) As EnvelopeData Private Function GetEnvelopeData(pEnvelopeId As Integer) As EnvelopeData
Dim oSql = $"SELECT T.GUID, T2.FILEPATH FROM [dbo].[TBSIG_ENVELOPE] T Dim oSql = $"SELECT T.GUID, T2.FILEPATH FROM [dbo].[TBSIG_ENVELOPE] T
JOIN TBSIG_ENVELOPE_DOCUMENT T2 ON T.GUID = T2.ENVELOPE_ID JOIN TBSIG_ENVELOPE_DOCUMENT T2 ON T.GUID = T2.ENVELOPE_ID
@@ -210,6 +229,7 @@ Namespace Jobs
Return oData Return oData
End Function End Function
Private Function GetAnnotationData(pEnvelopeId As Integer) As List(Of String) Private Function GetAnnotationData(pEnvelopeId As Integer) As List(Of String)
Dim oSql = $"SELECT VALUE FROM TBSIG_DOCUMENT_STATUS WHERE ENVELOPE_ID = {pEnvelopeId}" Dim oSql = $"SELECT VALUE FROM TBSIG_DOCUMENT_STATUS WHERE ENVELOPE_ID = {pEnvelopeId}"
Dim oTable As DataTable = Database.GetDatatable(oSql) Dim oTable As DataTable = Database.GetDatatable(oSql)
@@ -221,26 +241,14 @@ Namespace Jobs
End Function End Function
Private Function ToReportItem(pRow As DataRow) As ReportItem Private Sub InitializeServices(pState As State)
Return New ReportItem() With { ActionService = New ActionService(pState)
.EnvelopeId = pRow.Item("ENVELOPE_ID"),
.EnvelopeTitle = pRow.ItemEx("HEAD_TITLE", String.Empty),
.EnvelopeSubject = pRow.ItemEx("HEAD_SUBJECT", String.Empty),
.ItemDate = pRow.ItemEx(Of Date)("POS_WHEN", Nothing),
.ItemStatus = pRow.ItemEx("POS_STATUS", 0),
.ItemUserReference = pRow.ItemEx("POS_WHO", "")
}
End Function
Private Sub InitializeServices()
Dim oState = GetState()
ActionService = New ActionService(oState)
End Sub End Sub
Private Sub InitializeModels() Private Sub InitializeModels(pState As State)
Dim oState = GetState() ConfigModel = New ConfigModel(pState)
ConfigModel = New ConfigModel(oState) EnvelopeModel = New EnvelopeModel(pState)
EnvelopeModel = New EnvelopeModel(oState) ReportModel = New ReportModel(pState)
End Sub End Sub
Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer Private Function GetDatabase(pContext As IJobExecutionContext, pLogConfig As LogConfig) As MSSQLServer

View File

@@ -4,8 +4,9 @@ Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports GdPicture14 Imports GdPicture14
Imports Newtonsoft.Json Imports Newtonsoft.Json
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
Namespace Jobs Namespace Jobs.FinalizeDocument
Public Class PDFBurner Public Class PDFBurner
Inherits BaseClass Inherits BaseClass
@@ -26,47 +27,43 @@ Namespace Jobs
Manager = New AnnotationManager() Manager = New AnnotationManager()
End Sub End Sub
Public Function BurnInstantJSONAnnotationsToPDF(pSourceFilePath As String, pInstantJSONList As List(Of String), pDestinationDirectoryPath As String) As Boolean Public Function BurnInstantJSONAnnotationsToPDF(pSourceBuffer As Byte(), pInstantJSONList As List(Of String)) As Byte()
Dim oResult As GdPictureStatus Dim oResult As GdPictureStatus
oResult = Manager.InitFromFile(pSourceFilePath)
If oResult <> GdPictureStatus.OK Then
Logger.Warn("Could not open file [{0}] for burning: [{1}]", pSourceFilePath, oResult.ToString)
Return False
End If
For Each oJSON In pInstantJSONList
If AddInstantJSONAnnotationToPDF(oJSON) = False Then
Logger.Warn("Adding Annotation failed. Exiting")
Return False
End If
Next
Dim oFileInfo As New FileInfo(pSourceFilePath)
Dim oDestinationFilePath As String = Path.Combine(pDestinationDirectoryPath, oFileInfo.Name)
Logger.Debug("Export filepath: [{0}]", oDestinationFilePath)
Try Try
oResult = Manager.BurnAnnotationsToPage(RemoveInitialAnnots:=True, VectorMode:=True) Using oSourceStream As New MemoryStream(pSourceBuffer)
If oResult <> GdPictureStatus.OK Then oResult = Manager.InitFromStream(oSourceStream)
Logger.Warn("Could not burn annotations to file file [{0}]: [{1}]", pSourceFilePath, oResult.ToString) If oResult <> GdPictureStatus.OK Then
Return False Throw New BurnAnnotationException($"Could not open document for burning: [{oResult}]")
End If End If
oResult = Manager.SaveDocumentToPDF(oDestinationFilePath) For Each oJSON In pInstantJSONList
If oResult <> GdPictureStatus.OK Then If AddInstantJSONAnnotationToPDF(oJSON) = False Then
Logger.Warn("Could not save file [{0}] to path [{1}]: [{2}]", oFileInfo.Name, oDestinationFilePath, oResult.ToString) Throw New BurnAnnotationException($"Adding Annotation failed")
Return False End If
End If Next
Manager.Close()
Return True oResult = Manager.BurnAnnotationsToPage(RemoveInitialAnnots:=True, VectorMode:=True)
If oResult <> GdPictureStatus.OK Then
Throw New BurnAnnotationException($"Could not burn annotations to file: [{oResult}]")
End If
Using oNewStream As New MemoryStream()
oResult = Manager.SaveDocumentToPDF(oNewStream)
If oResult <> GdPictureStatus.OK Then
Throw New BurnAnnotationException($"Could not save document to stream: [{oResult}]")
End If
Manager.Close()
Return oNewStream.ToArray()
End Using
End Using
Catch ex As Exception Catch ex As Exception
Logger.Warn("Could not burn and save annotations to file [{0}]!", oDestinationFilePath)
Logger.Error(ex) Logger.Error(ex)
Return False Return Nothing
End Try End Try
End Function End Function

View File

@@ -0,0 +1,91 @@
Imports System.IO
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base
Imports EnvelopeGenerator.Common.Jobs.FinalizeDocument.FinalizeDocumentExceptions
Public Class ReportCreator
Inherits BaseClass
Private Envelope As Envelope
Private ReadOnly ReportModel As ReportModel
Private ReadOnly EnvelopeModel As EnvelopeModel
Public Sub New(pLogConfig As LogConfig, pState As State)
MyBase.New(pLogConfig)
ReportModel = New ReportModel(pState)
EnvelopeModel = New EnvelopeModel(pState)
End Sub
Public Function CreateReport(pEnvelope As Envelope) As Byte()
Try
Logger.Debug("Loading report data..")
Dim oTable = ReportModel.List(pEnvelope.Id)
Dim oItems = GetReportSource(oTable)
Envelope = pEnvelope
If oItems.Count = 0 Then
Throw New CreateReportException("No report data found!")
End If
Logger.Debug("Creating report with [{0}] items..", oItems.Count)
Dim oBuffer = DoCreateReport(oItems)
Logger.Debug("Report created!")
Return oBuffer
Catch ex As Exception
Logger.Error(ex)
Throw New CreateReportException("Could not prepare report data!", ex)
End Try
End Function
Private Function GetReportSource(pDataTable As DataTable) As List(Of ReportItem)
Logger.Debug("Preparing report data")
Return pDataTable.Rows.
Cast(Of DataRow).
Select(AddressOf ToReportItem).
OrderByDescending(Function(r) r.ItemDate).
ToList()
End Function
Private Function DoCreateReport(pReportItems As List(Of ReportItem)) As Byte()
Dim oItems = pReportItems.Select(AddressOf MergeEnvelope).ToList()
Dim oSource As New ReportSource With {.Items = oItems}
Dim oReport As New rptEnvelopeHistory() With {.DataSource = oSource, .DataMember = "Items"}
Logger.Debug("Creating report in memory..")
oReport.CreateDocument()
Logger.Debug("Exporting report to stream..")
Using oStream As New MemoryStream()
oReport.ExportToPdf(oStream)
Logger.Debug("Writing report to buffer..")
Return oStream.ToArray()
End Using
End Function
Private Function MergeEnvelope(pItem As ReportItem) As ReportItem
If pItem.Envelope Is Nothing Then
pItem.Envelope = Envelope
End If
Return pItem
End Function
Private Function ToReportItem(pRow As DataRow) As ReportItem
Try
Return New ReportItem() With {
.EnvelopeId = pRow.Item("ENVELOPE_ID"),
.EnvelopeTitle = pRow.ItemEx("HEAD_TITLE", String.Empty),
.EnvelopeSubject = pRow.ItemEx("HEAD_SUBJECT", String.Empty),
.ItemDate = pRow.ItemEx(Of Date)("POS_WHEN", Nothing),
.ItemStatus = pRow.ItemEx("POS_STATUS", 0),
.ItemUserReference = pRow.ItemEx("POS_WHO", "")
}
Catch ex As Exception
Logger.Error(ex)
Throw New CreateReportException("Could not read data from database!", ex)
End Try
End Function
End Class

View File

@@ -0,0 +1,14 @@
Public Class ReportModel
Inherits BaseModel
Public Sub New(pState As State)
MyBase.New(pState)
End Sub
Public Function List(pEnvelopeId As Integer) As DataTable
Dim oSql As String = $"SELECT * FROM VWSIG_ENVELOPE_REPORT WHERE ENVELOPE_ID = {pEnvelopeId}"
Dim oTable As DataTable = Database.GetDatatable(oSql)
Return oTable
End Function
End Class

View File

@@ -1,30 +0,0 @@
Imports System.IO
Imports DevExpress.XtraPrinting
Public Class ReportCreator
Private Envelope As Envelope
Public Sub New(pEnvelope As Envelope)
Envelope = pEnvelope
End Sub
Public Async Function CreateReport(pReportItems As List(Of ReportItem)) As Task(Of Byte())
Dim oItems = pReportItems.Select(AddressOf MergeEnvelope).ToList()
Dim oSource As New ReportSource With {.Items = oItems}
Dim oReport As New rptEnvelopeHistory() With {.DataSource = oSource, .DataMember = "Items"}
Await oReport.CreateDocumentAsync()
Using oStream As New MemoryStream()
Await oReport.ExportToPdfAsync(oStream, New PdfExportOptions)
Return oStream.ToArray()
End Using
End Function
Private Function MergeEnvelope(pItem As ReportItem) As ReportItem
If pItem.Envelope Is Nothing Then
pItem.Envelope = Envelope
End If
Return pItem
End Function
End Class

View File

@@ -156,6 +156,9 @@
<data name="Envelope Invitations Sent" xml:space="preserve"> <data name="Envelope Invitations Sent" xml:space="preserve">
<value>Envelope Invitations Sent</value> <value>Envelope Invitations Sent</value>
</data> </data>
<data name="Envelope Overview" xml:space="preserve">
<value>Overview</value>
</data>
<data name="Envelope successfully sent" xml:space="preserve"> <data name="Envelope successfully sent" xml:space="preserve">
<value>The invitations were successfully prepared for dispatch.</value> <value>The invitations were successfully prepared for dispatch.</value>
</data> </data>
@@ -220,7 +223,7 @@
<value>Signature</value> <value>Signature</value>
</data> </data>
<data name="Signature Editor" xml:space="preserve"> <data name="Signature Editor" xml:space="preserve">
<value>Signature Editor</value> <value>Signature-Editor</value>
</data> </data>
<data name="The envelope could not be deleted" xml:space="preserve"> <data name="The envelope could not be deleted" xml:space="preserve">
<value>The envelope could not be deleted!</value> <value>The envelope could not be deleted!</value>

View File

@@ -156,6 +156,9 @@
<data name="Envelope Invitations Sent" xml:space="preserve"> <data name="Envelope Invitations Sent" xml:space="preserve">
<value>Die Einladungen wurden versendet</value> <value>Die Einladungen wurden versendet</value>
</data> </data>
<data name="Envelope Overview" xml:space="preserve">
<value>Übersicht</value>
</data>
<data name="Envelope successfully sent" xml:space="preserve"> <data name="Envelope successfully sent" xml:space="preserve">
<value>Die Einladungen wurden erfolgreich zum Versand bereitgestellt.</value> <value>Die Einladungen wurden erfolgreich zum Versand bereitgestellt.</value>
</data> </data>
@@ -220,7 +223,7 @@
<value>Signatur</value> <value>Signatur</value>
</data> </data>
<data name="Signature Editor" xml:space="preserve"> <data name="Signature Editor" xml:space="preserve">
<value>Signatur Editor</value> <value>Signatur-Editor</value>
</data> </data>
<data name="The envelope could not be deleted" xml:space="preserve"> <data name="The envelope could not be deleted" xml:space="preserve">
<value>Der Umschlag konnte nicht gelöscht werden!</value> <value>Der Umschlag konnte nicht gelöscht werden!</value>

View File

@@ -190,6 +190,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Übersicht ähnelt.
'''</summary>
Public Shared ReadOnly Property Envelope_Overview() As String
Get
Return ResourceManager.GetString("Envelope Overview", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Die Einladungen wurden erfolgreich zum Versand bereitgestellt. ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Die Einladungen wurden erfolgreich zum Versand bereitgestellt. ähnelt.
'''</summary> '''</summary>
@@ -371,7 +380,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Signatur Editor ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Signatur-Editor ähnelt.
'''</summary> '''</summary>
Public Shared ReadOnly Property Signature_Editor() As String Public Shared ReadOnly Property Signature_Editor() As String
Get Get

View File

@@ -188,6 +188,7 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.resx"> <EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmSplashScreen.resx"> <EmbeddedResource Include="frmSplashScreen.resx">
<DependentUpon>frmSplashScreen.vb</DependentUpon> <DependentUpon>frmSplashScreen.vb</DependentUpon>

View File

@@ -35,7 +35,7 @@
<value></value> <value></value>
</setting> </setting>
<setting name="FontBehavior" serializeAs="String"> <setting name="FontBehavior" serializeAs="String">
<value></value> <value>UseSegoeUI</value>
</setting> </setting>
<setting name="DefaultAppFont" serializeAs="String"> <setting name="DefaultAppFont" serializeAs="String">
<value></value> <value></value>

View File

@@ -147,37 +147,25 @@ Partial Public Class frmEnvelopeEditor
' '
'SplitContainerControl1.Panel1 'SplitContainerControl1.Panel1
' '
resources.ApplyResources(Me.SplitContainerControl1.Panel1, "SplitContainerControl1.Panel1")
Me.SplitContainerControl1.Panel1.Controls.Add(Me.LayoutControl3) Me.SplitContainerControl1.Panel1.Controls.Add(Me.LayoutControl3)
resources.ApplyResources(Me.SplitContainerControl1.Panel1, "SplitContainerControl1.Panel1")
' '
'SplitContainerControl1.Panel2 'SplitContainerControl1.Panel2
' '
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2) Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2)
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
Me.SplitContainerControl1.SplitterPosition = 251 Me.SplitContainerControl1.SplitterPosition = 251
' '
'LayoutControl3 'LayoutControl3
' '
resources.ApplyResources(Me.LayoutControl3, "LayoutControl3")
Me.LayoutControl3.Controls.Add(Me.GridDocuments) Me.LayoutControl3.Controls.Add(Me.GridDocuments)
resources.ApplyResources(Me.LayoutControl3, "LayoutControl3")
Me.LayoutControl3.Name = "LayoutControl3" Me.LayoutControl3.Name = "LayoutControl3"
Me.LayoutControl3.Root = Me.LayoutControlGroup4 Me.LayoutControl3.Root = Me.LayoutControlGroup4
' '
'GridDocuments 'GridDocuments
' '
resources.ApplyResources(Me.GridDocuments, "GridDocuments") resources.ApplyResources(Me.GridDocuments, "GridDocuments")
Me.GridDocuments.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridDocuments.EmbeddedNavigator.AccessibleDescription")
Me.GridDocuments.EmbeddedNavigator.AccessibleName = resources.GetString("GridDocuments.EmbeddedNavigator.AccessibleName")
Me.GridDocuments.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
Me.GridDocuments.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
Me.GridDocuments.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
Me.GridDocuments.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
Me.GridDocuments.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
Me.GridDocuments.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
Me.GridDocuments.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
Me.GridDocuments.EmbeddedNavigator.ToolTip = resources.GetString("GridDocuments.EmbeddedNavigator.ToolTip")
Me.GridDocuments.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridDocuments.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
Me.GridDocuments.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridDocuments.EmbeddedNavigator.ToolTipTitle")
Me.GridDocuments.MainView = Me.ViewDocuments Me.GridDocuments.MainView = Me.ViewDocuments
Me.GridDocuments.MenuManager = Me.RibbonControl1 Me.GridDocuments.MenuManager = Me.RibbonControl1
Me.GridDocuments.Name = "GridDocuments" Me.GridDocuments.Name = "GridDocuments"
@@ -191,11 +179,6 @@ Partial Public Class frmEnvelopeEditor
Me.ViewDocuments.OptionsTiles.ItemSize = New System.Drawing.Size(200, 290) Me.ViewDocuments.OptionsTiles.ItemSize = New System.Drawing.Size(200, 290)
Me.ViewDocuments.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical Me.ViewDocuments.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical
Me.ViewDocuments.TileColumns.Add(TableColumnDefinition1) Me.ViewDocuments.TileColumns.Add(TableColumnDefinition1)
'
'
'
Me.ViewDocuments.TileHtmlTemplate.Styles = resources.GetString("ViewDocuments.TileHtmlTemplate.Styles")
Me.ViewDocuments.TileHtmlTemplate.Template = resources.GetString("ViewDocuments.TileHtmlTemplate.Template")
TableRowDefinition1.Length.Value = 152.0R TableRowDefinition1.Length.Value = 152.0R
TableRowDefinition2.Length.Value = 20.0R TableRowDefinition2.Length.Value = 20.0R
Me.ViewDocuments.TileRows.Add(TableRowDefinition1) Me.ViewDocuments.TileRows.Add(TableRowDefinition1)
@@ -215,7 +198,6 @@ Partial Public Class frmEnvelopeEditor
TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter
Me.ViewDocuments.TileTemplate.Add(TileViewItemElement1) Me.ViewDocuments.TileTemplate.Add(TileViewItemElement1)
Me.ViewDocuments.TileTemplate.Add(TileViewItemElement2) Me.ViewDocuments.TileTemplate.Add(TileViewItemElement2)
resources.ApplyResources(Me.ViewDocuments, "ViewDocuments")
' '
'colFilename 'colFilename
' '
@@ -231,13 +213,9 @@ Partial Public Class frmEnvelopeEditor
' '
'RibbonControl1 'RibbonControl1
' '
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer)
Me.RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer)
Me.RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage = CType(resources.GetObject("RibbonControl1.ExpandCollapseItem.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.RibbonControl1.ExpandCollapseItem.SearchTags = resources.GetString("RibbonControl1.ExpandCollapseItem.SearchTags")
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.btnSave, Me.btnCancel, Me.btnNewFile, Me.btnDeleteFile, Me.btnSendEnvelope, Me.btnEditFields, Me.btnDeleteReceiver, Me.btnEditData}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.btnSave, Me.btnCancel, Me.btnNewFile, Me.btnDeleteFile, Me.btnSendEnvelope, Me.btnEditFields, Me.btnDeleteReceiver, Me.btnEditData})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 10 Me.RibbonControl1.MaxItemId = 10
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
@@ -250,8 +228,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnSave, "btnSave") resources.ApplyResources(Me.btnSave, "btnSave")
Me.btnSave.Id = 1 Me.btnSave.Id = 1
Me.btnSave.ImageOptions.ImageIndex = CType(resources.GetObject("btnSave.ImageOptions.ImageIndex"), Integer)
Me.btnSave.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnSave.ImageOptions.LargeImageIndex"), Integer)
Me.btnSave.ImageOptions.SvgImage = CType(resources.GetObject("btnSave.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnSave.ImageOptions.SvgImage = CType(resources.GetObject("btnSave.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnSave.Name = "btnSave" Me.btnSave.Name = "btnSave"
' '
@@ -259,8 +235,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnCancel, "btnCancel") resources.ApplyResources(Me.btnCancel, "btnCancel")
Me.btnCancel.Id = 2 Me.btnCancel.Id = 2
Me.btnCancel.ImageOptions.ImageIndex = CType(resources.GetObject("btnCancel.ImageOptions.ImageIndex"), Integer)
Me.btnCancel.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnCancel.ImageOptions.LargeImageIndex"), Integer)
Me.btnCancel.ImageOptions.SvgImage = CType(resources.GetObject("btnCancel.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnCancel.ImageOptions.SvgImage = CType(resources.GetObject("btnCancel.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnCancel.Name = "btnCancel" Me.btnCancel.Name = "btnCancel"
' '
@@ -268,8 +242,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnNewFile, "btnNewFile") resources.ApplyResources(Me.btnNewFile, "btnNewFile")
Me.btnNewFile.Id = 3 Me.btnNewFile.Id = 3
Me.btnNewFile.ImageOptions.ImageIndex = CType(resources.GetObject("btnNewFile.ImageOptions.ImageIndex"), Integer)
Me.btnNewFile.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnNewFile.ImageOptions.LargeImageIndex"), Integer)
Me.btnNewFile.ImageOptions.SvgImage = CType(resources.GetObject("btnNewFile.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnNewFile.ImageOptions.SvgImage = CType(resources.GetObject("btnNewFile.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnNewFile.Name = "btnNewFile" Me.btnNewFile.Name = "btnNewFile"
' '
@@ -277,8 +249,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnDeleteFile, "btnDeleteFile") resources.ApplyResources(Me.btnDeleteFile, "btnDeleteFile")
Me.btnDeleteFile.Id = 4 Me.btnDeleteFile.Id = 4
Me.btnDeleteFile.ImageOptions.ImageIndex = CType(resources.GetObject("btnDeleteFile.ImageOptions.ImageIndex"), Integer)
Me.btnDeleteFile.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnDeleteFile.ImageOptions.LargeImageIndex"), Integer)
Me.btnDeleteFile.ImageOptions.SvgImage = CType(resources.GetObject("btnDeleteFile.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnDeleteFile.ImageOptions.SvgImage = CType(resources.GetObject("btnDeleteFile.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnDeleteFile.Name = "btnDeleteFile" Me.btnDeleteFile.Name = "btnDeleteFile"
' '
@@ -286,8 +256,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnSendEnvelope, "btnSendEnvelope") resources.ApplyResources(Me.btnSendEnvelope, "btnSendEnvelope")
Me.btnSendEnvelope.Id = 6 Me.btnSendEnvelope.Id = 6
Me.btnSendEnvelope.ImageOptions.ImageIndex = CType(resources.GetObject("btnSendEnvelope.ImageOptions.ImageIndex"), Integer)
Me.btnSendEnvelope.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnSendEnvelope.ImageOptions.LargeImageIndex"), Integer)
Me.btnSendEnvelope.ImageOptions.SvgImage = CType(resources.GetObject("btnSendEnvelope.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnSendEnvelope.ImageOptions.SvgImage = CType(resources.GetObject("btnSendEnvelope.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnSendEnvelope.Name = "btnSendEnvelope" Me.btnSendEnvelope.Name = "btnSendEnvelope"
' '
@@ -295,8 +263,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnEditFields, "btnEditFields") resources.ApplyResources(Me.btnEditFields, "btnEditFields")
Me.btnEditFields.Id = 7 Me.btnEditFields.Id = 7
Me.btnEditFields.ImageOptions.ImageIndex = CType(resources.GetObject("btnEditFields.ImageOptions.ImageIndex"), Integer)
Me.btnEditFields.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnEditFields.ImageOptions.LargeImageIndex"), Integer)
Me.btnEditFields.ImageOptions.SvgImage = CType(resources.GetObject("btnEditFields.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnEditFields.ImageOptions.SvgImage = CType(resources.GetObject("btnEditFields.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnEditFields.Name = "btnEditFields" Me.btnEditFields.Name = "btnEditFields"
' '
@@ -304,8 +270,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnDeleteReceiver, "btnDeleteReceiver") resources.ApplyResources(Me.btnDeleteReceiver, "btnDeleteReceiver")
Me.btnDeleteReceiver.Id = 8 Me.btnDeleteReceiver.Id = 8
Me.btnDeleteReceiver.ImageOptions.ImageIndex = CType(resources.GetObject("btnDeleteReceiver.ImageOptions.ImageIndex"), Integer)
Me.btnDeleteReceiver.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnDeleteReceiver.ImageOptions.LargeImageIndex"), Integer)
Me.btnDeleteReceiver.ImageOptions.SvgImage = CType(resources.GetObject("btnDeleteReceiver.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnDeleteReceiver.ImageOptions.SvgImage = CType(resources.GetObject("btnDeleteReceiver.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnDeleteReceiver.Name = "btnDeleteReceiver" Me.btnDeleteReceiver.Name = "btnDeleteReceiver"
' '
@@ -313,8 +277,6 @@ Partial Public Class frmEnvelopeEditor
' '
resources.ApplyResources(Me.btnEditData, "btnEditData") resources.ApplyResources(Me.btnEditData, "btnEditData")
Me.btnEditData.Id = 9 Me.btnEditData.Id = 9
Me.btnEditData.ImageOptions.ImageIndex = CType(resources.GetObject("btnEditData.ImageOptions.ImageIndex"), Integer)
Me.btnEditData.ImageOptions.LargeImageIndex = CType(resources.GetObject("btnEditData.ImageOptions.LargeImageIndex"), Integer)
Me.btnEditData.ImageOptions.SvgImage = CType(resources.GetObject("btnEditData.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnEditData.ImageOptions.SvgImage = CType(resources.GetObject("btnEditData.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnEditData.Name = "btnEditData" Me.btnEditData.Name = "btnEditData"
' '
@@ -360,7 +322,6 @@ Partial Public Class frmEnvelopeEditor
' '
'LayoutControlGroup4 'LayoutControlGroup4
' '
resources.ApplyResources(Me.LayoutControlGroup4, "LayoutControlGroup4")
Me.LayoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True] Me.LayoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup4.GroupBordersVisible = False Me.LayoutControlGroup4.GroupBordersVisible = False
Me.LayoutControlGroup4.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup5}) Me.LayoutControlGroup4.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup5})
@@ -371,19 +332,18 @@ Partial Public Class frmEnvelopeEditor
' '
'LayoutControlGroup5 'LayoutControlGroup5
' '
resources.ApplyResources(Me.LayoutControlGroup5, "LayoutControlGroup5")
Me.LayoutControlGroup5.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem5}) Me.LayoutControlGroup5.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem5})
Me.LayoutControlGroup5.Location = New System.Drawing.Point(0, 0) Me.LayoutControlGroup5.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlGroup5.Name = "LayoutControlGroup5" Me.LayoutControlGroup5.Name = "LayoutControlGroup5"
Me.LayoutControlGroup5.Size = New System.Drawing.Size(251, 552) Me.LayoutControlGroup5.Size = New System.Drawing.Size(251, 552)
resources.ApplyResources(Me.LayoutControlGroup5, "LayoutControlGroup5")
' '
'LayoutControlItem5 'LayoutControlItem5
' '
resources.ApplyResources(Me.LayoutControlItem5, "LayoutControlItem5")
Me.LayoutControlItem5.Control = Me.GridDocuments Me.LayoutControlItem5.Control = Me.GridDocuments
Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem5.Name = "LayoutControlItem5" Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Size = New System.Drawing.Size(227, 507) Me.LayoutControlItem5.Size = New System.Drawing.Size(229, 511)
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem5.TextVisible = False Me.LayoutControlItem5.TextVisible = False
' '
@@ -395,44 +355,32 @@ Partial Public Class frmEnvelopeEditor
' '
'SplitContainerControl2.Panel1 'SplitContainerControl2.Panel1
' '
resources.ApplyResources(Me.SplitContainerControl2.Panel1, "SplitContainerControl2.Panel1")
Me.SplitContainerControl2.Panel1.Controls.Add(Me.PanelControl1) Me.SplitContainerControl2.Panel1.Controls.Add(Me.PanelControl1)
resources.ApplyResources(Me.SplitContainerControl2.Panel1, "SplitContainerControl2.Panel1")
' '
'SplitContainerControl2.Panel2 'SplitContainerControl2.Panel2
' '
resources.ApplyResources(Me.SplitContainerControl2.Panel2, "SplitContainerControl2.Panel2")
Me.SplitContainerControl2.Panel2.Controls.Add(Me.PanelControl2) Me.SplitContainerControl2.Panel2.Controls.Add(Me.PanelControl2)
resources.ApplyResources(Me.SplitContainerControl2.Panel2, "SplitContainerControl2.Panel2")
Me.SplitContainerControl2.SplitterPosition = 253 Me.SplitContainerControl2.SplitterPosition = 253
' '
'PanelControl1 'PanelControl1
' '
resources.ApplyResources(Me.PanelControl1, "PanelControl1")
Me.PanelControl1.Controls.Add(Me.LayoutControl2) Me.PanelControl1.Controls.Add(Me.LayoutControl2)
resources.ApplyResources(Me.PanelControl1, "PanelControl1")
Me.PanelControl1.Name = "PanelControl1" Me.PanelControl1.Name = "PanelControl1"
' '
'LayoutControl2 'LayoutControl2
' '
resources.ApplyResources(Me.LayoutControl2, "LayoutControl2")
Me.LayoutControl2.Controls.Add(Me.GridReceivers) Me.LayoutControl2.Controls.Add(Me.GridReceivers)
resources.ApplyResources(Me.LayoutControl2, "LayoutControl2")
Me.LayoutControl2.Name = "LayoutControl2" Me.LayoutControl2.Name = "LayoutControl2"
Me.LayoutControl2.Root = Me.LayoutControlGroup2 Me.LayoutControl2.Root = Me.LayoutControlGroup2
' '
'GridReceivers 'GridReceivers
' '
resources.ApplyResources(Me.GridReceivers, "GridReceivers")
Me.GridReceivers.DataSource = Me.EnvelopeReceiverBindingSource Me.GridReceivers.DataSource = Me.EnvelopeReceiverBindingSource
Me.GridReceivers.EmbeddedNavigator.AccessibleDescription = resources.GetString("GridReceivers.EmbeddedNavigator.AccessibleDescription") resources.ApplyResources(Me.GridReceivers, "GridReceivers")
Me.GridReceivers.EmbeddedNavigator.AccessibleName = resources.GetString("GridReceivers.EmbeddedNavigator.AccessibleName")
Me.GridReceivers.EmbeddedNavigator.AllowHtmlTextInToolTip = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.AllowHtmlTextInToolTip"), DevExpress.Utils.DefaultBoolean)
Me.GridReceivers.EmbeddedNavigator.Anchor = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.Anchor"), System.Windows.Forms.AnchorStyles)
Me.GridReceivers.EmbeddedNavigator.BackgroundImage = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.BackgroundImage"), System.Drawing.Image)
Me.GridReceivers.EmbeddedNavigator.BackgroundImageLayout = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.BackgroundImageLayout"), System.Windows.Forms.ImageLayout)
Me.GridReceivers.EmbeddedNavigator.ImeMode = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.ImeMode"), System.Windows.Forms.ImeMode)
Me.GridReceivers.EmbeddedNavigator.MaximumSize = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.MaximumSize"), System.Drawing.Size)
Me.GridReceivers.EmbeddedNavigator.TextLocation = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.TextLocation"), DevExpress.XtraEditors.NavigatorButtonsTextLocation)
Me.GridReceivers.EmbeddedNavigator.ToolTip = resources.GetString("GridReceivers.EmbeddedNavigator.ToolTip")
Me.GridReceivers.EmbeddedNavigator.ToolTipIconType = CType(resources.GetObject("GridReceivers.EmbeddedNavigator.ToolTipIconType"), DevExpress.Utils.ToolTipIconType)
Me.GridReceivers.EmbeddedNavigator.ToolTipTitle = resources.GetString("GridReceivers.EmbeddedNavigator.ToolTipTitle")
Me.GridReceivers.MainView = Me.ViewReceivers Me.GridReceivers.MainView = Me.ViewReceivers
Me.GridReceivers.MenuManager = Me.RibbonControl1 Me.GridReceivers.MenuManager = Me.RibbonControl1
Me.GridReceivers.Name = "GridReceivers" Me.GridReceivers.Name = "GridReceivers"
@@ -447,7 +395,6 @@ Partial Public Class frmEnvelopeEditor
'ViewReceivers 'ViewReceivers
' '
Me.ViewReceivers.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple Me.ViewReceivers.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple
resources.ApplyResources(Me.ViewReceivers, "ViewReceivers")
Me.ViewReceivers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colColor, Me.colEmail, Me.colName}) Me.ViewReceivers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colColor, Me.colEmail, Me.colName})
Me.ViewReceivers.GridControl = Me.GridReceivers Me.ViewReceivers.GridControl = Me.GridReceivers
Me.ViewReceivers.Name = "ViewReceivers" Me.ViewReceivers.Name = "ViewReceivers"
@@ -481,11 +428,11 @@ Partial Public Class frmEnvelopeEditor
' '
'colEmail 'colEmail
' '
resources.ApplyResources(Me.colEmail, "colEmail")
Me.colEmail.ColumnEdit = Me.RepositoryItemComboBox1 Me.colEmail.ColumnEdit = Me.RepositoryItemComboBox1
Me.colEmail.FieldName = "Email" Me.colEmail.FieldName = "Email"
Me.colEmail.Name = "colEmail" Me.colEmail.Name = "colEmail"
Me.colEmail.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False] Me.colEmail.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False]
resources.ApplyResources(Me.colEmail, "colEmail")
' '
'RepositoryItemComboBox1 'RepositoryItemComboBox1
' '
@@ -499,7 +446,6 @@ Partial Public Class frmEnvelopeEditor
Me.colName.FieldName = "Name" Me.colName.FieldName = "Name"
Me.colName.Name = "colName" Me.colName.Name = "colName"
Me.colName.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False] Me.colName.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.[False]
Me.colName.Summary.AddRange(New DevExpress.XtraGrid.GridSummaryItem() {New DevExpress.XtraGrid.GridColumnSummaryItem()})
' '
'RepositoryItemEmailEdit 'RepositoryItemEmailEdit
' '
@@ -532,7 +478,6 @@ Partial Public Class frmEnvelopeEditor
' '
'LayoutControlGroup2 'LayoutControlGroup2
' '
resources.ApplyResources(Me.LayoutControlGroup2, "LayoutControlGroup2")
Me.LayoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True] Me.LayoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup2.GroupBordersVisible = False Me.LayoutControlGroup2.GroupBordersVisible = False
Me.LayoutControlGroup2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup3}) Me.LayoutControlGroup2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup3})
@@ -543,32 +488,31 @@ Partial Public Class frmEnvelopeEditor
' '
'LayoutControlGroup3 'LayoutControlGroup3
' '
resources.ApplyResources(Me.LayoutControlGroup3, "LayoutControlGroup3")
Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2}) Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2})
Me.LayoutControlGroup3.Location = New System.Drawing.Point(0, 0) Me.LayoutControlGroup3.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlGroup3.Name = "LayoutControlGroup3" Me.LayoutControlGroup3.Name = "LayoutControlGroup3"
Me.LayoutControlGroup3.Size = New System.Drawing.Size(899, 249) Me.LayoutControlGroup3.Size = New System.Drawing.Size(899, 249)
resources.ApplyResources(Me.LayoutControlGroup3, "LayoutControlGroup3")
' '
'LayoutControlItem2 'LayoutControlItem2
' '
resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2")
Me.LayoutControlItem2.Control = Me.GridReceivers Me.LayoutControlItem2.Control = Me.GridReceivers
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem2.Name = "LayoutControlItem2" Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Size = New System.Drawing.Size(875, 204) Me.LayoutControlItem2.Size = New System.Drawing.Size(877, 208)
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem2.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem2.TextVisible = False Me.LayoutControlItem2.TextVisible = False
' '
'PanelControl2 'PanelControl2
' '
resources.ApplyResources(Me.PanelControl2, "PanelControl2")
Me.PanelControl2.Controls.Add(Me.LayoutControl1) Me.PanelControl2.Controls.Add(Me.LayoutControl1)
resources.ApplyResources(Me.PanelControl2, "PanelControl2")
Me.PanelControl2.Name = "PanelControl2" Me.PanelControl2.Name = "PanelControl2"
' '
'LayoutControl1 'LayoutControl1
' '
resources.ApplyResources(Me.LayoutControl1, "LayoutControl1")
Me.LayoutControl1.Controls.Add(Me.txtMessage) Me.LayoutControl1.Controls.Add(Me.txtMessage)
resources.ApplyResources(Me.LayoutControl1, "LayoutControl1")
Me.LayoutControl1.Name = "LayoutControl1" Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.Root Me.LayoutControl1.Root = Me.Root
' '
@@ -581,7 +525,6 @@ Partial Public Class frmEnvelopeEditor
' '
'Root 'Root
' '
resources.ApplyResources(Me.Root, "Root")
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True] Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup1}) Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup1})
@@ -592,23 +535,23 @@ Partial Public Class frmEnvelopeEditor
' '
'LayoutControlGroup1 'LayoutControlGroup1
' '
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem3}) Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem3})
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 0) Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlGroup1.Name = "LayoutControlGroup1" Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(899, 285) Me.LayoutControlGroup1.Size = New System.Drawing.Size(899, 285)
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
' '
'LayoutControlItem3 'LayoutControlItem3
' '
resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3")
Me.LayoutControlItem3.Control = Me.txtMessage Me.LayoutControlItem3.Control = Me.txtMessage
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem3.Name = "LayoutControlItem3" Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem3.Size = New System.Drawing.Size(873, 238) Me.LayoutControlItem3.Size = New System.Drawing.Size(873, 238)
resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3")
Me.LayoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(42, 13) Me.LayoutControlItem3.TextSize = New System.Drawing.Size(49, 13)
' '
'FrmEditorBindingSource 'FrmEditorBindingSource
' '

File diff suppressed because it is too large Load Diff

View File

@@ -443,4 +443,8 @@ Partial Public Class frmEnvelopeEditor
End If End If
End If End If
End Sub End Sub
Private Sub RibbonControl1_Click(sender As Object, e As EventArgs) Handles RibbonControl1.Click
End Sub
End Class End Class

View File

@@ -66,24 +66,23 @@
' '
'SplitContainerControl1 'SplitContainerControl1
' '
resources.ApplyResources(Me.SplitContainerControl1, "SplitContainerControl1")
Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel1 Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel1
resources.ApplyResources(Me.SplitContainerControl1, "SplitContainerControl1")
Me.SplitContainerControl1.Name = "SplitContainerControl1" Me.SplitContainerControl1.Name = "SplitContainerControl1"
' '
'SplitContainerControl1.Panel1 'SplitContainerControl1.Panel1
' '
resources.ApplyResources(Me.SplitContainerControl1.Panel1, "SplitContainerControl1.Panel1")
Me.SplitContainerControl1.Panel1.Controls.Add(Me.ThumbnailEx2) Me.SplitContainerControl1.Panel1.Controls.Add(Me.ThumbnailEx2)
resources.ApplyResources(Me.SplitContainerControl1.Panel1, "SplitContainerControl1.Panel1")
' '
'SplitContainerControl1.Panel2 'SplitContainerControl1.Panel2
' '
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
Me.SplitContainerControl1.Panel2.Controls.Add(Me.DocumentViewer1) Me.SplitContainerControl1.Panel2.Controls.Add(Me.DocumentViewer1)
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
Me.SplitContainerControl1.SplitterPosition = 199 Me.SplitContainerControl1.SplitterPosition = 199
' '
'ThumbnailEx2 'ThumbnailEx2
' '
resources.ApplyResources(Me.ThumbnailEx2, "ThumbnailEx2")
Me.ThumbnailEx2.AllowDropFiles = False Me.ThumbnailEx2.AllowDropFiles = False
Me.ThumbnailEx2.AllowMoveItems = False Me.ThumbnailEx2.AllowMoveItems = False
Me.ThumbnailEx2.BackColor = System.Drawing.SystemColors.Control Me.ThumbnailEx2.BackColor = System.Drawing.SystemColors.Control
@@ -93,6 +92,7 @@
Me.ThumbnailEx2.DefaultItemCheckState = False Me.ThumbnailEx2.DefaultItemCheckState = False
Me.ThumbnailEx2.DefaultItemTextPrefix = "" Me.ThumbnailEx2.DefaultItemTextPrefix = ""
Me.ThumbnailEx2.DisplayAnnotations = True Me.ThumbnailEx2.DisplayAnnotations = True
resources.ApplyResources(Me.ThumbnailEx2, "ThumbnailEx2")
Me.ThumbnailEx2.EnableDropShadow = True Me.ThumbnailEx2.EnableDropShadow = True
Me.ThumbnailEx2.HorizontalTextAlignment = GdPicture14.TextAlignment.TextAlignmentCenter Me.ThumbnailEx2.HorizontalTextAlignment = GdPicture14.TextAlignment.TextAlignmentCenter
Me.ThumbnailEx2.HotTracking = False Me.ThumbnailEx2.HotTracking = False
@@ -125,13 +125,11 @@
' '
'ribbonControl1 'ribbonControl1
' '
resources.ApplyResources(Me.ribbonControl1, "ribbonControl1")
Me.ribbonControl1.ExpandCollapseItem.Id = 0 Me.ribbonControl1.ExpandCollapseItem.Id = 0
Me.ribbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("ribbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer) Me.ribbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex = CType(resources.GetObject("ribbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex"), Integer)
Me.ribbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("ribbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer) Me.ribbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex = CType(resources.GetObject("ribbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex"), Integer)
Me.ribbonControl1.ExpandCollapseItem.ImageOptions.SvgImage = CType(resources.GetObject("ribbonControl1.ExpandCollapseItem.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.ribbonControl1.ExpandCollapseItem.SearchTags = resources.GetString("ribbonControl1.ExpandCollapseItem.SearchTags")
Me.ribbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonControl1.ExpandCollapseItem, Me.ribbonControl1.SearchEditItem, Me.BarButtonItem1, Me.btnSave, Me.btnDelete, Me.BarListItem1, Me.BarButtonItem2, Me.txtReceiver}) Me.ribbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonControl1.ExpandCollapseItem, Me.ribbonControl1.SearchEditItem, Me.BarButtonItem1, Me.btnSave, Me.btnDelete, Me.BarListItem1, Me.BarButtonItem2, Me.txtReceiver})
resources.ApplyResources(Me.ribbonControl1, "ribbonControl1")
Me.ribbonControl1.MaxItemId = 16 Me.ribbonControl1.MaxItemId = 16
Me.ribbonControl1.Name = "ribbonControl1" Me.ribbonControl1.Name = "ribbonControl1"
Me.ribbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.ribbonPage1}) Me.ribbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.ribbonPage1})
@@ -174,13 +172,12 @@
Me.BarListItem1.Id = 9 Me.BarListItem1.Id = 9
Me.BarListItem1.ImageOptions.ImageIndex = CType(resources.GetObject("BarListItem1.ImageOptions.ImageIndex"), Integer) Me.BarListItem1.ImageOptions.ImageIndex = CType(resources.GetObject("BarListItem1.ImageOptions.ImageIndex"), Integer)
Me.BarListItem1.ImageOptions.LargeImageIndex = CType(resources.GetObject("BarListItem1.ImageOptions.LargeImageIndex"), Integer) Me.BarListItem1.ImageOptions.LargeImageIndex = CType(resources.GetObject("BarListItem1.ImageOptions.LargeImageIndex"), Integer)
Me.BarListItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarListItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarListItem1.Name = "BarListItem1" Me.BarListItem1.Name = "BarListItem1"
' '
'BarButtonItem2 'BarButtonItem2
' '
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
Me.BarButtonItem2.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.DropDown Me.BarButtonItem2.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.DropDown
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
Me.BarButtonItem2.DropDownControl = Me.PopupMenu1 Me.BarButtonItem2.DropDownControl = Me.PopupMenu1
Me.BarButtonItem2.Id = 11 Me.BarButtonItem2.Id = 11
Me.BarButtonItem2.ImageOptions.ImageIndex = CType(resources.GetObject("BarButtonItem2.ImageOptions.ImageIndex"), Integer) Me.BarButtonItem2.ImageOptions.ImageIndex = CType(resources.GetObject("BarButtonItem2.ImageOptions.ImageIndex"), Integer)
@@ -200,8 +197,8 @@
Me.txtReceiver.Id = 13 Me.txtReceiver.Id = 13
Me.txtReceiver.ImageOptions.ImageIndex = CType(resources.GetObject("txtReceiver.ImageOptions.ImageIndex"), Integer) Me.txtReceiver.ImageOptions.ImageIndex = CType(resources.GetObject("txtReceiver.ImageOptions.ImageIndex"), Integer)
Me.txtReceiver.ImageOptions.LargeImageIndex = CType(resources.GetObject("txtReceiver.ImageOptions.LargeImageIndex"), Integer) Me.txtReceiver.ImageOptions.LargeImageIndex = CType(resources.GetObject("txtReceiver.ImageOptions.LargeImageIndex"), Integer)
Me.txtReceiver.ImageOptions.SvgImage = CType(resources.GetObject("txtReceiver.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.txtReceiver.Name = "txtReceiver" Me.txtReceiver.Name = "txtReceiver"
Me.txtReceiver.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
' '
'ribbonPage1 'ribbonPage1
' '
@@ -256,26 +253,26 @@
' '
'barDockControlTop 'barDockControlTop
' '
resources.ApplyResources(Me.barDockControlTop, "barDockControlTop")
Me.barDockControlTop.CausesValidation = False Me.barDockControlTop.CausesValidation = False
resources.ApplyResources(Me.barDockControlTop, "barDockControlTop")
Me.barDockControlTop.Manager = Me.BarManager1 Me.barDockControlTop.Manager = Me.BarManager1
' '
'barDockControlBottom 'barDockControlBottom
' '
resources.ApplyResources(Me.barDockControlBottom, "barDockControlBottom")
Me.barDockControlBottom.CausesValidation = False Me.barDockControlBottom.CausesValidation = False
resources.ApplyResources(Me.barDockControlBottom, "barDockControlBottom")
Me.barDockControlBottom.Manager = Me.BarManager1 Me.barDockControlBottom.Manager = Me.BarManager1
' '
'barDockControlLeft 'barDockControlLeft
' '
resources.ApplyResources(Me.barDockControlLeft, "barDockControlLeft")
Me.barDockControlLeft.CausesValidation = False Me.barDockControlLeft.CausesValidation = False
resources.ApplyResources(Me.barDockControlLeft, "barDockControlLeft")
Me.barDockControlLeft.Manager = Me.BarManager1 Me.barDockControlLeft.Manager = Me.BarManager1
' '
'barDockControlRight 'barDockControlRight
' '
resources.ApplyResources(Me.barDockControlRight, "barDockControlRight")
Me.barDockControlRight.CausesValidation = False Me.barDockControlRight.CausesValidation = False
resources.ApplyResources(Me.barDockControlRight, "barDockControlRight")
Me.barDockControlRight.Manager = Me.BarManager1 Me.barDockControlRight.Manager = Me.BarManager1
' '
'SvgImageCollection1 'SvgImageCollection1

View File

@@ -222,9 +222,21 @@
<data name="&gt;&gt;SplitContainerControl1.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SplitContainerControl1.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="ribbonControl1.ExpandCollapseItem.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="ribbonControl1.ExpandCollapseItem.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarButtonItem1.Caption" xml:space="preserve"> <data name="BarButtonItem1.Caption" xml:space="preserve">
<value>Signatur hinzufügen</value> <value>Signatur hinzufügen</value>
</data> </data>
<data name="BarButtonItem1.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarButtonItem1.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
@@ -248,6 +260,12 @@
<data name="btnSave.Caption" xml:space="preserve"> <data name="btnSave.Caption" xml:space="preserve">
<value>Speichern</value> <value>Speichern</value>
</data> </data>
<data name="btnSave.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnSave.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnSave.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnSave.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
@@ -270,6 +288,12 @@
<data name="btnDelete.Caption" xml:space="preserve"> <data name="btnDelete.Caption" xml:space="preserve">
<value>Signatur entfernen</value> <value>Signatur entfernen</value>
</data> </data>
<data name="btnDelete.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnDelete.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnDelete.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnDelete.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
@@ -294,12 +318,24 @@
<data name="BarListItem1.Caption" xml:space="preserve"> <data name="BarListItem1.Caption" xml:space="preserve">
<value>BarListItem1</value> <value>BarListItem1</value>
</data> </data>
<data name="BarListItem1.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarListItem1.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve"> <data name="BarButtonItem2.Caption" xml:space="preserve">
<value>Empfänger</value> <value>Empfänger</value>
</data> </data>
<metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value> <value>159, 17</value>
</metadata> </metadata>
<data name="BarButtonItem2.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarButtonItem2.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
@@ -326,6 +362,12 @@
<data name="txtReceiver.Caption" xml:space="preserve"> <data name="txtReceiver.Caption" xml:space="preserve">
<value>Kein Empfänger ausgewählt</value> <value>Kein Empfänger ausgewählt</value>
</data> </data>
<data name="txtReceiver.ImageOptions.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="txtReceiver.ImageOptions.LargeImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="ribbonControl1.Location" type="System.Drawing.Point, System.Drawing"> <data name="ribbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value> <value>0, 0</value>
</data> </data>
@@ -471,6 +513,9 @@
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1125, 658</value> <value>1125, 658</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="frmFieldEditor.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="frmFieldEditor.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40

View File

@@ -528,7 +528,6 @@ Partial Class frmMain
' '
'RefreshTimer 'RefreshTimer
' '
Me.RefreshTimer.Enabled = True
Me.RefreshTimer.Interval = 120000 Me.RefreshTimer.Interval = 120000
' '
'frmMain 'frmMain

View File

@@ -250,7 +250,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="colContractType.VisibleIndex" type="System.Int32, mscorlib"> <data name="colContractType.VisibleIndex" type="System.Int32, mscorlib">
<value>0</value> <value>2</value>
</data> </data>
<data name="colContractType.Width" type="System.Int32, mscorlib"> <data name="colContractType.Width" type="System.Int32, mscorlib">
<value>120</value> <value>120</value>
@@ -274,7 +274,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="colTitle.VisibleIndex" type="System.Int32, mscorlib"> <data name="colTitle.VisibleIndex" type="System.Int32, mscorlib">
<value>2</value> <value>0</value>
</data> </data>
<data name="colTitle.Width" type="System.Int32, mscorlib"> <data name="colTitle.Width" type="System.Int32, mscorlib">
<value>575</value> <value>575</value>
@@ -721,7 +721,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="GridColumn3.VisibleIndex" type="System.Int32, mscorlib"> <data name="GridColumn3.VisibleIndex" type="System.Int32, mscorlib">
<value>0</value> <value>2</value>
</data> </data>
<data name="GridColumn3.Width" type="System.Int32, mscorlib"> <data name="GridColumn3.Width" type="System.Int32, mscorlib">
<value>120</value> <value>120</value>
@@ -745,7 +745,7 @@
<value>True</value> <value>True</value>
</data> </data>
<data name="GridColumn5.VisibleIndex" type="System.Int32, mscorlib"> <data name="GridColumn5.VisibleIndex" type="System.Int32, mscorlib">
<value>2</value> <value>0</value>
</data> </data>
<data name="GridColumn5.Width" type="System.Int32, mscorlib"> <data name="GridColumn5.Width" type="System.Int32, mscorlib">
<value>574</value> <value>574</value>
@@ -872,82 +872,82 @@
</data> </data>
<data name="frmMain.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="frmMain.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
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
</value> </value>
</data> </data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms"> <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">

View File

@@ -30,6 +30,8 @@ Public Class frmMain
End Sub End Sub
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Text = $"{State.DbConfig.ExternalProgramName} - {Resources.Envelope.Envelope_Overview}"
TempFiles = New TempFiles(LogConfig) TempFiles = New TempFiles(LogConfig)
TempFiles.Create() TempFiles.Create()

View File

@@ -38,7 +38,7 @@ Public Class Scheduler
Logger.Debug("Initialized Job [{0}]", JobName) Logger.Debug("Initialized Job [{0}]", JobName)
Dim oJob As IJobDetail = JobBuilder.Create(Of CertificateDocumentJob). Dim oJob As IJobDetail = JobBuilder.Create(Of FinalizeDocumentJob).
UsingJobData(oJobData). UsingJobData(oJobData).
WithIdentity(oJobKey). WithIdentity(oJobKey).
Build() Build()

View File

@@ -115,15 +115,9 @@
console.log(receiverSignature) console.log(receiverSignature)
//canvas.width = width
//canvas.height = height
canvas.width = width * scale canvas.width = width * scale
canvas.height = height * scale canvas.height = height * scale
//canvas.style.width = width * 4
//canvas.style.height = height * 4
const ctx = canvas.getContext('2d') const ctx = canvas.getContext('2d')
// This supposedly makes the lines and text less blurry // This supposedly makes the lines and text less blurry
// See: https://stackoverflow.com/questions/8696631/canvas-drawings-like-lines-are-blurry // See: https://stackoverflow.com/questions/8696631/canvas-drawings-like-lines-are-blurry
@@ -133,7 +127,7 @@
ctx.textRendering = "geometricPrecision" ctx.textRendering = "geometricPrecision"
const date = new Date() const date = new Date()
const dateString = date.toLocaleDateString('de-DE') const dateString = date.toLocaleString('de-DE')
const signatureLength = 100 * scale const signatureLength = 100 * scale
@@ -157,7 +151,8 @@
ctx.fillStyle = 'black' ctx.fillStyle = 'black'
ctx.font = `${fontSize * scale}px sans-serif` ctx.font = `${fontSize * scale}px sans-serif`
ctx.fillText('Signed by', 30 * scale, 10 * scale) ctx.fillText('Signed by', 30 * scale, 10 * scale)
ctx.fillText(receiverName + ', ' + dateString, 15 * scale, 60 * scale) ctx.fillText(receiverName, 15 * scale, 60 * scale)
ctx.fillText(dateString, 15 * scale, 70 * scale)
return new Promise((resolve) => { return new Promise((resolve) => {
canvas.toBlob((blob) => { canvas.toBlob((blob) => {

View File

@@ -109,8 +109,8 @@ class App {
if (isFormField === false && isSignature === true) { if (isFormField === false && isSignature === true) {
const left = annotation.boundingBox.left - 25 const left = annotation.boundingBox.left - 20
const top = annotation.boundingBox.top - 25 const top = annotation.boundingBox.top - 20
const width = 150 const width = 150
const height = 75 const height = 75