From 57f8d0e3981470166900809d30f2de4fa9bf4ca9 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Fri, 8 Nov 2024 11:48:58 +0100 Subject: [PATCH] MS Multiple Files Dialog, Qualifizierte Signatur weg --- EnvelopeGenerator.Common/Constants.vb | 2 +- .../EnvelopeGenerator.Common.vbproj | 2 + .../My Project/AssemblyInfo.vb | 4 +- .../Strings/Model.Designer.vb | 20 +- .../EnvelopeGenerator.Form.vbproj | 9 + EnvelopeGenerator.Form/ModuleSettings.vb | 2 +- .../My Project/AssemblyInfo.vb | 4 +- .../frmChooseDocVariant.Designer.vb | 75 ++++++++ .../frmChooseDocVariant.resx | 179 ++++++++++++++++++ EnvelopeGenerator.Form/frmChooseDocVariant.vb | 96 ++++++++++ .../frmEnvelopeEditor.Designer.vb | 32 +++- EnvelopeGenerator.Form/frmEnvelopeEditor.resx | 47 ++++- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 58 ++++++ .../frmEnvelopeMainData.resx | 3 + EnvelopeGenerator.Form/frmSplashScreen.vb | 10 +- 15 files changed, 518 insertions(+), 25 deletions(-) create mode 100644 EnvelopeGenerator.Form/frmChooseDocVariant.Designer.vb create mode 100644 EnvelopeGenerator.Form/frmChooseDocVariant.resx create mode 100644 EnvelopeGenerator.Form/frmChooseDocVariant.vb 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