diff --git a/EnvelopeGenerator.Common/Constants.vb b/EnvelopeGenerator.Common/Constants.vb
index 4fe3a7fc..253680f3 100644
--- a/EnvelopeGenerator.Common/Constants.vb
+++ b/EnvelopeGenerator.Common/Constants.vb
@@ -75,7 +75,7 @@
Public Enum CertificationType
ElectronicSignature = 1
- QualifiedSignature = 2
+ 'QualifiedSignature = 2
End Enum
Public Enum FinalEmailType
diff --git a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
index 6c386e77..152c9659 100644
--- a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
+++ b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj
@@ -260,11 +260,13 @@
PublicResXFileCodeGenerator
Model.en.Designer.vb
My.Resources
+ Designer
My.Resources
PublicResXFileCodeGenerator
Model.Designer.vb
+ Designer
diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
index 65fa8443..d3678d57 100644
--- a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
+++ b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' indem Sie "*" wie unten gezeigt eingeben:
'
-
-
+
+
diff --git a/EnvelopeGenerator.Common/Strings/Model.Designer.vb b/EnvelopeGenerator.Common/Strings/Model.Designer.vb
index b107ec39..79ce0250 100644
--- a/EnvelopeGenerator.Common/Strings/Model.Designer.vb
+++ b/EnvelopeGenerator.Common/Strings/Model.Designer.vb
@@ -306,16 +306,16 @@ Namespace My.Resources
Return ResourceManager.GetString("PartlySigned", resourceCulture)
End Get
End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Qualifizierte Signatur ähnelt.
- '''
- Public Shared ReadOnly Property QualifiedSignature() As String
- Get
- Return ResourceManager.GetString("QualifiedSignature", resourceCulture)
- End Get
- End Property
-
+
+ ''''
+ '''' Sucht eine lokalisierte Zeichenfolge, die Qualifizierte Signatur ähnelt.
+ ''''
+ 'Public Shared ReadOnly Property QualifiedSignature() As String
+ ' Get
+ ' Return ResourceManager.GetString("QualifiedSignature", resourceCulture)
+ ' End Get
+ 'End Property
+
'''
''' Sucht eine lokalisierte Zeichenfolge, die Arbeitsanweisung ähnelt.
'''
diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
index 1bf6b84d..b9553dbc 100644
--- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
+++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj
@@ -142,6 +142,12 @@
+
+ frmChooseDocVariant.vb
+
+
+ Form
+
Form
@@ -190,6 +196,9 @@
True
+
+ frmChooseDocVariant.vb
+
frmEnvelopeEditor.vb
Designer
diff --git a/EnvelopeGenerator.Form/ModuleSettings.vb b/EnvelopeGenerator.Form/ModuleSettings.vb
index 68da35d1..8a3dfe13 100644
--- a/EnvelopeGenerator.Form/ModuleSettings.vb
+++ b/EnvelopeGenerator.Form/ModuleSettings.vb
@@ -2,7 +2,7 @@
Imports DigitalData.Modules.Logging
Module ModuleSettings
- Public DOCUMENT_PATH_MOVE_AFTSEND As String = ""
+ Public ENVELOPE_TEMP_DOCUMENT As String = ""
Public CurrLogConfig As LogConfig
Public Directory2Delete As String = ""
Public MS_GDPICTUREKEY As String = ""
diff --git a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb
index fc5fe7a3..8afa2bdc 100644
--- a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb
+++ b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb
@@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices
-
+
' 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
' by using the '*' as shown below:
' [assembly: AssemblyVersion("1.0.*")]
-
+
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb b/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb
new file mode 100644
index 00000000..4da4a646
--- /dev/null
+++ b/EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb
@@ -0,0 +1,75 @@
+ _
+Partial Class frmChooseDocVariant
+ Inherits DevExpress.XtraEditors.XtraForm
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmChooseDocVariant))
+ Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
+ Me.SimpleButton2 = New DevExpress.XtraEditors.SimpleButton()
+ Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
+ Me.SuspendLayout()
+ '
+ 'LabelControl1
+ '
+ Me.LabelControl1.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.LabelControl1.Appearance.Options.UseFont = True
+ Me.LabelControl1.Location = New System.Drawing.Point(12, 26)
+ Me.LabelControl1.Name = "LabelControl1"
+ Me.LabelControl1.Size = New System.Drawing.Size(625, 17)
+ Me.LabelControl1.TabIndex = 2
+ Me.LabelControl1.Text = "In diesem Dialog wählen Sie die Dokumente aus, welche dann zu einem Dokument verk" &
+ "ettet werden!"
+ '
+ 'SimpleButton2
+ '
+ Me.SimpleButton2.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.SimpleButton2.Appearance.Options.UseFont = True
+ Me.SimpleButton2.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.SimpleButton2.Location = New System.Drawing.Point(142, 85)
+ Me.SimpleButton2.Name = "SimpleButton2"
+ Me.SimpleButton2.Size = New System.Drawing.Size(343, 50)
+ Me.SimpleButton2.TabIndex = 3
+ Me.SimpleButton2.Text = "Mehrere PDF auswählen und automatisch verketten"
+ '
+ 'OpenFileDialog1
+ '
+ Me.OpenFileDialog1.FileName = "OpenFileDialog1"
+ Me.OpenFileDialog1.Filter = "PDF Files|*.pdf"
+ '
+ 'frmChooseDocVariant
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(644, 189)
+ Me.Controls.Add(Me.SimpleButton2)
+ Me.Controls.Add(Me.LabelControl1)
+ Me.IconOptions.SvgImage = CType(resources.GetObject("frmChooseDocVariant.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.Name = "frmChooseDocVariant"
+ Me.Text = "Mehrere Dokumente"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
+ Friend WithEvents SimpleButton2 As DevExpress.XtraEditors.SimpleButton
+ Friend WithEvents OpenFileDialog1 As OpenFileDialog
+End Class
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.resx b/EnvelopeGenerator.Form/frmChooseDocVariant.resx
new file mode 100644
index 00000000..5944640e
--- /dev/null
+++ b/EnvelopeGenerator.Form/frmChooseDocVariant.resx
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+ MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkRvY3VtZW50UERGIj4NCiAgICA8cGF0aCBkPSJN
+ MjIsMjR2NEgyVjJoMTR2NWMwLDAuNiwwLjQsMSwxLDFoNXY0aDJWN2wtNy03SDFDMC40LDAsMCwwLjQs
+ MCwxdjI4YzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTEgICB2LTVIMjJ6IiBjbGFzcz0i
+ QmxhY2siIC8+DQogICAgPHBhdGggZD0iTTE5LjIsMTZjMC4zLDAuNSwwLjQsMS4xLDAuNCwxLjljMCww
+ LjktMC4yLDEuNS0wLjUsMmMtMC4zLDAuNS0wLjcsMC43LTEuMywwLjdoLTAuNnYtNS4zaDAuNiAgIEMx
+ OC40LDE1LjMsMTguOSwxNS42LDE5LjIsMTZ6IE0xMi4xLDE1LjNoLTAuNXYyLjZoMC41YzAuNywwLDEu
+ MS0wLjQsMS4xLTEuM2MwLTAuNC0wLjEtMC44LTAuMy0xQzEyLjYsMTUuNCwxMi40LDE1LjMsMTIuMSwx
+ NS4zeiAgICBNMzAsMTJ2MTJINlYxMkgzMHogTTE0LjgsMTYuNWMwLTAuOC0wLjItMS41LTAuNi0xLjlj
+ LTAuNC0wLjQtMS0wLjctMS44LTAuN0gxMHY4aDEuNnYtMi43aDAuNmMwLjgsMCwxLjQtMC4zLDEuOS0w
+ LjggICBDMTQuNSwxOCwxNC44LDE3LjMsMTQuOCwxNi41eiBNMjEuMiwxNy45YzAtMi42LTEuMS0zLjkt
+ My40LTMuOWgtMi4xdjhoMi4yYzEuMSwwLDEuOS0wLjQsMi41LTEuMUMyMC45LDIwLjIsMjEuMiwxOS4y
+ LDIxLjIsMTcuOXogICAgTTI2LDE0aC0zLjd2OGgxLjZ2LTMuMWgydi0xLjNoLTJ2LTIuMkgyNlYxNHoi
+ IGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
+
+
+
+ 17, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTG9naWNhbCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9z
+ dHlsZT4NCiAgPHBhdGggZD0iTTUsNGgyM1YzYzAtMC42LTAuNC0xLTEtMUg1QzMuMywyLDIsMy4zLDIs
+ NXYyMmMwLDEuNywxLjMsMywzLDNoMjJjMC42LDAsMS0wLjQsMS0xVjZINUM0LjQsNiw0LDUuNiw0LDUg
+ IEM0LDQuNCw0LjQsNCw1LDR6IE0xNiwyNGgtMnYtMmgyVjI0eiBNMTEuNiwxNC40YzAuMi0wLjUsMC40
+ LTAuOSwwLjctMS4zYzAuMy0wLjQsMC43LTAuNiwxLjEtMC44YzAuNC0wLjIsMC45LTAuMywxLjUtMC4z
+ ICBjMC43LDAsMS4zLDAuMSwxLjgsMC4zYzAuNSwwLjIsMC45LDAuNSwxLjIsMC44YzAuMywwLjMsMC41
+ LDAuNywwLjYsMWMwLjEsMC40LDAuMiwwLjcsMC4yLDFjMCwwLjQsMCwwLjctMC4xLDEgIGMtMC4xLDAu
+ My0wLjIsMC41LTAuMywwLjhjLTAuMSwwLjItMC4zLDAuNC0wLjQsMC42Yy0wLjIsMC4yLTAuMywwLjMt
+ MC41LDAuNGMtMC4yLDAuMS0wLjMsMC4zLTAuNSwwLjRjLTAuMiwwLjEtMC4zLDAuMy0wLjQsMC40ICBj
+ LTAuMSwwLjEtMC4zLDAuMy0wLjQsMC41Yy0wLjEsMC4yLTAuMiwwLjQtMC4yLDAuNnYwLjZoLTJ2LTAu
+ N2MwLTAuNCwwLjEtMC43LDAuMS0wLjljMC4xLTAuMywwLjItMC41LDAuMy0wLjcgIGMwLjEtMC4yLDAu
+ My0wLjQsMC40LTAuNWMwLjEtMC4xLDAuMy0wLjMsMC40LTAuNHMwLjMtMC4zLDAuNC0wLjRjMC4xLTAu
+ MSwwLjItMC4yLDAuMy0wLjRjMC4xLTAuMSwwLjItMC4zLDAuMi0wLjUgIGMwLjEtMC4yLDAuMS0wLjQs
+ MC4xLTAuNmMwLTAuNS0wLjEtMC45LTAuMy0xLjFjLTAuMi0wLjItMC41LTAuNC0wLjktMC40Yy0wLjMs
+ MC0wLjUsMC4xLTAuNywwLjJjLTAuMiwwLjEtMC40LDAuMy0wLjUsMC41ICBjLTAuMSwwLjItMC4yLDAu
+ NC0wLjMsMC43Yy0wLjEsMC4yLTAuMSwwLjUtMC4xLDAuOGgtMi4yQzExLjQsMTUuNCwxMS40LDE0Ljks
+ MTEuNiwxNC40eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
+
+
+
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmChooseDocVariant.vb b/EnvelopeGenerator.Form/frmChooseDocVariant.vb
new file mode 100644
index 00000000..6faeb8ab
--- /dev/null
+++ b/EnvelopeGenerator.Form/frmChooseDocVariant.vb
@@ -0,0 +1,96 @@
+Imports DevExpress.XtraSplashScreen
+Imports EnvelopeGenerator.Common
+Imports DigitalData.Modules.Logging
+Imports GdPicture14
+Public Class frmChooseDocVariant
+ Private TempFiles As TempFiles
+ Public Property State As State
+ Private Logger As Logger
+ Private Sub frmChooseDocVariant_Load(sender As Object, e As EventArgs) Handles Me.Load
+ ENVELOPE_TEMP_DOCUMENT = ""
+ TempFiles = New TempFiles(State.LogConfig)
+ TempFiles.Create()
+ Logger = State.LogConfig.GetLogger()
+ End Sub
+
+ Private Sub SimpleButton1_Click(sender As Object, e As EventArgs)
+ OpenFileDialog1.Multiselect = False
+ Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
+
+ Try
+ If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
+ ENVELOPE_TEMP_DOCUMENT = OpenFileDialog1.FileName
+ End If
+
+ Catch ex As Exception
+ Logger.Error(ex)
+ Finally
+ SplashScreenManager.CloseOverlayForm(oHandle)
+ End Try
+ ' Else
+ ' SplashScreenManager.CloseOverlayForm(oHandle)
+ ' End If
+ End Sub
+
+ Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles SimpleButton2.Click
+ OpenFileDialog1.Multiselect = True
+ Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
+ Try
+ Dim oErr As Boolean = False
+ If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
+ Dim oIDX As Integer = 0
+ For Each oFile As String In OpenFileDialog1.FileNames
+ oIDX += 1
+ Next
+
+ Dim arPDF As GdPicturePDF() = New GdPicturePDF(oIDX) {}
+ oIDX = 0
+ For Each oFile As String In OpenFileDialog1.FileNames
+ arPDF(oIDX) = New GdPicturePDF()
+ If arPDF(oIDX).LoadFromFile(oFile) <> GdPictureStatus.OK Then
+ MsgBox($"PDF Statsu of file {oFile} is not OK. Please check PDF-conformity!", MsgBoxStyle.Critical)
+ oErr = True
+ Exit For
+ End If
+ oIDX += 1
+ Next
+ If oErr = False Then
+
+ Dim dstPDF As GdPicturePDF = arPDF(0).MergeDocuments(arPDF)
+ Dim oStatus As GdPictureStatus = arPDF(0).GetStat()
+ If oStatus = GdPictureStatus.OK Then
+ MsgBox("All documents have been successfully merged.", MsgBoxStyle.Information)
+ Dim oTempFolder = TempFiles.TempPath
+ Dim oTempFilename = String.Concat(oTempFolder, "\", $"MergedDoc.pdf")
+ If System.IO.File.Exists(oTempFilename) Then
+ System.IO.File.Delete(oTempFilename)
+ End If
+ If dstPDF.SaveToFile(oTempFilename) = GdPictureStatus.OK Then
+ MessageBox.Show("Merged document has been successfully saved.", "Example: MergeDocuments")
+ ENVELOPE_TEMP_DOCUMENT = oTempFilename
+ dstPDF.CloseDocument()
+ End If
+ Else
+ MessageBox.Show("The MergeDocuments() method has failed with the status: " + oStatus.ToString(), "Example: MergeDocuments")
+ End If
+ dstPDF.Dispose()
+ oIDX = 0
+ For Each oFile As String In OpenFileDialog1.FileNames
+ arPDF(oIDX).CloseDocument()
+ oIDX += 1
+ Next
+ End If
+
+ End If
+
+ Catch ex As Exception
+ Logger.Error(ex)
+ Finally
+ SplashScreenManager.CloseOverlayForm(oHandle)
+ End Try
+ End Sub
+
+ Private Sub LabelControl1_Click(sender As Object, e As EventArgs) Handles LabelControl1.Click
+
+ End Sub
+End Class
\ No newline at end of file
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
index 41178281..df22b448 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb
@@ -58,12 +58,14 @@ Partial Public Class frmEnvelopeEditor
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
+ Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupDocuments = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupInvitation = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupAddSignature = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupReceiver = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.LayoutControlGroup4 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlGroup5 = New DevExpress.XtraLayout.LayoutControlGroup()
@@ -98,6 +100,7 @@ Partial Public Class frmEnvelopeEditor
Me.EnvelopeDocumentBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.txtEnvelopeIdLabel = New DevExpress.XtraBars.BarStaticItem()
+ Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
@@ -240,9 +243,9 @@ Partial Public Class frmEnvelopeEditor
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- 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.txtCreatorEmailLabel, Me.txtEnvelopeIdLabel2, Me.BarButtonItem1, Me.BarStaticItem1, Me.BarButtonItem2})
+ 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.txtCreatorEmailLabel, Me.txtEnvelopeIdLabel2, Me.BarButtonItem1, Me.BarStaticItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 15
+ Me.RibbonControl1.MaxItemId = 17
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
@@ -342,9 +345,15 @@ Partial Public Class frmEnvelopeEditor
Me.BarButtonItem2.Id = 14
Me.BarButtonItem2.Name = "BarButtonItem2"
'
+ 'BarButtonItem3
+ '
+ resources.ApplyResources(Me.BarButtonItem3, "BarButtonItem3")
+ Me.BarButtonItem3.Id = 15
+ Me.BarButtonItem3.Name = "BarButtonItem3"
+ '
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupDocuments, Me.RibbonPageGroupInvitation, Me.RibbonPageGroupAddSignature, Me.RibbonPageGroupReceiver})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupDocuments, Me.RibbonPageGroupInvitation, Me.RibbonPageGroupAddSignature, Me.RibbonPageGroupReceiver, Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
@@ -359,6 +368,7 @@ Partial Public Class frmEnvelopeEditor
'RibbonPageGroupDocuments
'
Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.btnNewFile)
+ Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.BarButtonItem4)
Me.RibbonPageGroupDocuments.ItemLinks.Add(Me.btnDeleteFile)
Me.RibbonPageGroupDocuments.Name = "RibbonPageGroupDocuments"
resources.ApplyResources(Me.RibbonPageGroupDocuments, "RibbonPageGroupDocuments")
@@ -382,6 +392,12 @@ Partial Public Class frmEnvelopeEditor
Me.RibbonPageGroupReceiver.Name = "RibbonPageGroupReceiver"
resources.ApplyResources(Me.RibbonPageGroupReceiver, "RibbonPageGroupReceiver")
'
+ 'RibbonPageGroup2
+ '
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem3)
+ Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
+ resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
+ '
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.txtCreatorEmailLabel)
@@ -659,6 +675,13 @@ Partial Public Class frmEnvelopeEditor
Me.txtEnvelopeIdLabel.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph
Me.txtEnvelopeIdLabel.Tag = "Envelope-ID: {0}"
'
+ 'BarButtonItem4
+ '
+ resources.ApplyResources(Me.BarButtonItem4, "BarButtonItem4")
+ Me.BarButtonItem4.Id = 16
+ Me.BarButtonItem4.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.BarButtonItem4.Name = "BarButtonItem4"
+ '
'frmEnvelopeEditor
'
resources.ApplyResources(Me, "$this")
@@ -783,6 +806,9 @@ Partial Public Class frmEnvelopeEditor
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem
#End Region
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
index a285029c..32e48364 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx
@@ -213,7 +213,7 @@
- Neues Dokument
+ Ein Dokument hinzufügen
@@ -414,6 +414,30 @@
Öffnen
+
+ BarButtonItem3
+
+
+ Mehrere Dokumente hinzufügen
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHECAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTXVsdGlwbGVfRG9jdW1lbnRzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91
+ bmQ6bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDoj
+ NzI3MjcyO30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTMxLDhoLTVWNWMwLTAuNS0wLjUtMS0xLTFoLTVW
+ MWMwLTAuNS0wLjUtMS0xLTFIMUMwLjUsMCwwLDAuNSwwLDF2MjJjMCwwLjUsMC41LDEsMSwxaDV2M2Mw
+ LDAuNSwwLjUsMSwxLDEgIGg1djNjMCwwLjUsMC41LDEsMSwxaDE4YzAuNSwwLDEtMC41LDEtMVY5QzMy
+ LDguNSwzMS41LDgsMzEsOHogTTYsNXYxN0gyVjJoMTZ2Mkg3QzYuNSw0LDYsNC41LDYsNXogTTEyLDl2
+ MTdIOFY2aDE2djJIMTMgIEMxMi41LDgsMTIsOC41LDEyLDl6IE0zMCwzMEgxNFYxMGgxNlYzMHoiIGNs
+ YXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
+
+
0, 0
@@ -432,6 +456,9 @@
Empfänger
+
+ RibbonPageGroup2
+
Start
@@ -1058,6 +1085,12 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ BarButtonItem3
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPage1
@@ -1094,6 +1127,12 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ RibbonPageGroup2
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
LayoutControlGroup4
@@ -1250,6 +1289,12 @@
DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ BarButtonItem4
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
frmEnvelopeEditor
diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
index 00426aa7..d5808c92 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
+++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb
@@ -30,6 +30,7 @@ Partial Public Class frmEnvelopeEditor
Private Const COL_CODE = "AccessCode"
Public Property State As State
+ Private TempFiles As TempFiles
Public Sub New()
InitializeComponent()
@@ -72,6 +73,8 @@ Partial Public Class frmEnvelopeEditor
Private Sub frmEditor_Load(sender As Object, e As EventArgs) Handles Me.Load
Logger = State.LogConfig.GetLogger()
Logger.Debug("Loading Configuration..")
+ TempFiles = New TempFiles(State.LogConfig)
+ TempFiles.Create()
If Envelope Is Nothing Then
Controller = New EnvelopeEditorController(State)
@@ -93,6 +96,24 @@ Partial Public Class frmEnvelopeEditor
Receivers = New BindingList(Of EnvelopeReceiver)(Controller.Envelope.Receivers)
For Each docItem As EnvelopeDocument In Documents
+ If Not File.Exists(docItem.Filepath) Then
+ Dim oTempFolder = TempFiles.TempPath
+ Dim oTempFilename = String.Concat(oTempFolder, "\", $"ViewEnvDoc_{Envelope.Id}.pdf")
+ If File.Exists(oTempFilename) Then
+ Try
+ File.OpenWrite(oTempFilename)
+ Catch ex As Exception
+ MsgBox("File might already be open?", MsgBoxStyle.Exclamation)
+ Me.Cursor = Cursors.Default
+ Exit Sub
+ End Try
+
+
+ File.Delete(oTempFilename)
+ End If
+ WriteBytetoPath(oTempFilename, docItem.Byte_Data)
+ docItem.Filepath = oTempFilename
+ End If
If docItem.Thumbnail Is Nothing Then
docItem.Thumbnail = Controller.CreateThumbnail(docItem.Filepath)
docItem.PageCount = Controller.GetPageCount(docItem.Filepath)
@@ -141,6 +162,8 @@ Partial Public Class frmEnvelopeEditor
Dim oDocument As EnvelopeDocument = DirectCast(ViewDocuments.GetFocusedRow(), EnvelopeDocument)
If Controller.DeleteDocument(oDocument) Then
Documents.Remove(oDocument)
+ GridDocuments.DataSource = Nothing
+
End If
End If
End Sub
@@ -163,6 +186,19 @@ Partial Public Class frmEnvelopeEditor
If ViewDocuments.GetSelectedRows().Count > 0 Then
Dim oDocument As EnvelopeDocument = DirectCast(ViewDocuments.GetFocusedRow(), EnvelopeDocument)
+ Dim oEnvelope = Controller.Envelope
+ If Not IsNothing(oDocument.Byte_Data) Then
+ Dim oTempFolder = TempFiles.TempPath
+ Dim oTempFilename = String.Concat(oTempFolder, "\", $"ViewEnvDoc_{oEnvelope.Id}.pdf")
+ If Not File.Exists(oTempFilename) Then
+ WriteBytetoPath(oTempFilename, oDocument.Byte_Data)
+ oDocument.Filepath = oTempFilename
+ End If
+
+ End If
+
+
+
Dim oGDPictureKey As String = MS_GDPICTUREKEY
Dim oForm As New frmFieldEditor(State) With {
@@ -180,7 +216,23 @@ Partial Public Class frmEnvelopeEditor
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Sub
+ Private Sub WriteBytetoPath(ByVal sFileName As String, pByte As Byte())
+ 'For Document
+ Try
+ If Not pByte Is Nothing Then
+ 'Read image data into a file stream
+ Using fs As New FileStream(sFileName, FileMode.OpenOrCreate, FileAccess.Write)
+ fs.Write(pByte, 0, pByte.Length)
+ 'Set image variable value using memory stream.
+ fs.Flush()
+ fs.Close()
+ End Using
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in downloadFile")
+ End Try
+ End Sub
Private Function SaveEnvelopeWithValidation() As Boolean
Return SaveEnvelope(True)
End Function
@@ -507,5 +559,11 @@ Partial Public Class frmEnvelopeEditor
End Sub
+ Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
+ frmChooseDocVariant.ShowDialog()
+ End Sub
+ Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
+
+ End Sub
End Class
diff --git a/EnvelopeGenerator.Form/frmEnvelopeMainData.resx b/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
index 6d628602..223536c7 100644
--- a/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
+++ b/EnvelopeGenerator.Form/frmEnvelopeMainData.resx
@@ -220,6 +220,9 @@
7
+
+ False
+
207, 162
diff --git a/EnvelopeGenerator.Form/frmSplashScreen.vb b/EnvelopeGenerator.Form/frmSplashScreen.vb
index 0504a476..014be8f5 100644
--- a/EnvelopeGenerator.Form/frmSplashScreen.vb
+++ b/EnvelopeGenerator.Form/frmSplashScreen.vb
@@ -62,7 +62,7 @@ Public Class frmSplashScreen
Private Sub Worker_DoWork(sender As Object, e As DoWorkEventArgs) Handles Worker.DoWork
Dim oState As State = DirectCast(e.Argument, State)
- Worker.ReportProgress(20, "Initialize Database")
+ Worker.ReportProgress(20, "Initializing Database")
Thread.Sleep(300)
Dim oConnectionString = MSSQLServer.DecryptConnectionString(oState.Config.ConnectionString)
@@ -74,13 +74,13 @@ Public Class frmSplashScreen
DB_DD_ECM = oState.Database
End If
- Worker.ReportProgress(40, "Initialize Confguration")
+ Worker.ReportProgress(40, "Initializing Configuration")
Thread.Sleep(300)
Dim ConfigModel = New ConfigModel(oState)
oState.DbConfig = ConfigModel.LoadConfiguration()
- DOCUMENT_PATH_MOVE_AFTSEND = oState.DbConfig.DOCUMENT_PATH_MOVE_AFTSEND
- Worker.ReportProgress(60, "Initialize User")
+ ' DOCUMENT_PATH_MOVE_AFTSEND = oState.DbConfig.DOCUMENT_PATH_MOVE_AFTSEND
+ Worker.ReportProgress(60, "Initializing User")
Dim oKey = oState.Database.GetScalarValue("SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE' and ACTIVE = 1")
Thread.Sleep(300)
If oKey.ToString <> String.Empty Then
@@ -91,7 +91,7 @@ Public Class frmSplashScreen
Dim oUser = oUserModel.SelectUser()
- Worker.ReportProgress(80, "Initialize Rights")
+ Worker.ReportProgress(80, "Initializing Rights")
Thread.Sleep(300)
' This checks for module access and admin rights