From 57f8d0e3981470166900809d30f2de4fa9bf4ca9 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Fri, 8 Nov 2024 11:48:58 +0100 Subject: [PATCH 1/9] 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 From bf84d5c63ad97579eee4a3408966893d215330c8 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 12 Nov 2024 08:30:14 +0100 Subject: [PATCH 2/9] MS Common v1.5.9 email Valdiation, email Resending, Clientintegration --- .../My Project/AssemblyInfo.vb | 4 +-- .../Services/ActionService.vb | 2 +- .../Strings/Envelope.en.resx | 3 ++ .../Strings/Envelope.resx | 3 ++ .../Strings/Envelope1.Designer.vb | 9 ++++++ EnvelopeGenerator.Form/frmEnvelopeEditor.resx | 12 +++---- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 32 +++++++++++++++---- EnvelopeGenerator.Form/frmMain.vb | 1 + 8 files changed, 50 insertions(+), 16 deletions(-) diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb index d3678d57..ea66036d 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/Services/ActionService.vb b/EnvelopeGenerator.Common/Services/ActionService.vb index d22ae95c..b2fc149e 100644 --- a/EnvelopeGenerator.Common/Services/ActionService.vb +++ b/EnvelopeGenerator.Common/Services/ActionService.vb @@ -45,7 +45,7 @@ Public Class ActionService Return oSendResult End Function Public Function ResendReceiver(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean - EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver) + Return EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver) End Function diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx index 2935748f..1eb26f3b 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx @@ -168,6 +168,9 @@ Envelope-Editor + + This email could not be validated! + Error sending the envelope: diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx index e6af1714..1eaecce1 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.resx @@ -168,6 +168,9 @@ Umschlag-Editor + + Die Email-Adresse konnte nicht validiert werden! + Fehler beim Senden des Umschlags: diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb index bfdf860a..466cb614 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb +++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb @@ -217,6 +217,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Die Email-Adresse konnte nicht validiert werden! ähnelt. + ''' + Public Shared ReadOnly Property Error_email_Validation() As String + Get + Return ResourceManager.GetString("Error email Validation", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Fehler beim Senden des Umschlags: ähnelt. ''' diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx index 32e48364..7cf8b4f1 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx @@ -1091,6 +1091,12 @@ DevExpress.XtraBars.BarButtonItem, 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 + RibbonPage1 @@ -1289,12 +1295,6 @@ 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 d5808c92..c4a15eaa 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -543,18 +543,36 @@ Partial Public Class frmEnvelopeEditor Dim oNameCellValue = ViewReceivers.GetRowCellValue(e.RowHandle, COL_NAME) If oNameCellValue Is Nothing Then Dim oEmailAdress As String = DirectCast(e.Value.ToString.ToLower, String) + oEmailAdress = Trim(oEmailAdress) + If IsValidEmailAddress(oEmailAdress) = True Then + Dim oLastName As String = Controller.GetLastNameByEmailAdress(oEmailAdress) + Dim oAccessCode As String = Helpers.GetAccessCode() + ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_EMAIL), oEmailAdress) + ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_NAME), oLastName) + ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_CODE), oAccessCode) + CellValueChanged = False + Else + MsgBox(Resources.Envelope.Error_email_Validation, MsgBoxStyle.Exclamation, Text) + ViewReceivers.SetFocusedValue("") + End If - Dim oLastName As String = Controller.GetLastNameByEmailAdress(oEmailAdress) - Dim oAccessCode As String = Helpers.GetAccessCode() - ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_EMAIL), oEmailAdress) - ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_NAME), oLastName) - ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_CODE), oAccessCode) - CellValueChanged = False End If End If End If End Sub - + Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean + Try + If pEmailAddress.Contains("@") Then + Dim oAddress = New System.Net.Mail.MailAddress(pEmailAddress) + Return oAddress.Address = pEmailAddress + Else + Return False + End If + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function Private Sub RibbonControl1_Click(sender As Object, e As EventArgs) Handles RibbonControl1.Click End Sub diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index 4ca0f99b..b04a7e74 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -566,6 +566,7 @@ Public Class frmMain If oReceiver.Email = selReceiver.Email Then If oController.ActionService.ResendReceiver(oEnvelope, oReceiver) = True Then MsgBox(Resources.Envelope.Invitation_successfully_resend, MsgBoxStyle.Information, Text) + End If End If Next From 2114615584a8b3202c271d86b9929d76f34f3da9 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 25 Nov 2024 12:38:02 +0100 Subject: [PATCH 3/9] MS Removed PathColumns --- EnvelopeGenerator.Common/Entities/DbConfig.vb | 7 - .../FinalizeDocument/FinalizeDocumentJob.vb | 146 ++++++------------ .../Models/ConfigModel.vb | 17 +- .../My Project/AssemblyInfo.vb | 4 +- .../My Project/Settings.Designer.vb | 29 +--- .../My Project/Settings.settings | 14 +- .../Strings/Envelope.en.resx | 2 +- .../Strings/Envelope.resx | 2 +- .../Strings/Envelope1.Designer.vb | 2 +- EnvelopeGenerator.Common/app.config | 16 -- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 62 +++++--- 11 files changed, 101 insertions(+), 200 deletions(-) diff --git a/EnvelopeGenerator.Common/Entities/DbConfig.vb b/EnvelopeGenerator.Common/Entities/DbConfig.vb index 6f93198c..a59b7fe2 100644 --- a/EnvelopeGenerator.Common/Entities/DbConfig.vb +++ b/EnvelopeGenerator.Common/Entities/DbConfig.vb @@ -3,13 +3,6 @@ Public Property DocumentPathOrigin As String = "" Public Property DocumentPath As String = "" Public Property ExportPath As String = "" - Public Property DocumentPath_DMZ As String = "" - Public Property ExportPath_DMZ As String = "" - Public Property DOCUMENT_PATH_MOVE_AFTSEND As String = "" - Public Property FINISHED_PATH_EX_DMZ As String = "" - Public Property EML_PATH_EX_DMZ As String = "" Public Property SendingProfile As Integer = 0 Public Property SignatureHost As String = "" - Public Property NetUse_necessary As Boolean = False - Public Property NetUse_Finish As Boolean = False End Class diff --git a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb index f15171d1..5287e5ac 100644 --- a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb +++ b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb @@ -82,49 +82,14 @@ Namespace Jobs Logger.Debug("Loading ReportCreator..") ReportCreator = New ReportCreator(LogConfig, oState) - Logger.Debug("My.Settings.RuninDMZ: [{0}]", My.Settings.RuninDMZ.ToString) - Logger.Debug("My.Settings.NetUse_Usr: [{0}]", My.Settings.NetUse_Usr) - - - If My.Settings.RuninDMZ = True Then - If Config.DocumentPath_DMZ <> String.Empty Then - Logger.Debug("RuninDMZ - Using DocumentPath_DMZ: [{0}] - Overwrite Document-Path", Config.DocumentPath_DMZ) - Config.DocumentPath = Config.DocumentPath_DMZ - Config.NetUse_necessary = True - Else - Config.DocumentPath = Config.DocumentPath - End If - Else - If Config.DOCUMENT_PATH_MOVE_AFTSEND <> String.Empty Then - Logger.Debug("Using DMZRemotePath: [{0}] - Overwrite Document-Path ...", Config.DOCUMENT_PATH_MOVE_AFTSEND) - Config.DocumentPath = Config.DOCUMENT_PATH_MOVE_AFTSEND - Config.NetUse_Finish = True - - Else - Config.DocumentPath = Config.DocumentPath - End If - End If + + Config.DocumentPath = Config.DocumentPath + Logger.Debug("DocumentPath: [{0}]", Config.DocumentPath) - If My.Settings.RuninDMZ = True Then - If Config.FINISHED_PATH_EX_DMZ <> String.Empty Then - Logger.Debug("RuninDMZ - FINISHED_PATH_EX_DMZ configured: [{0}]", Config.FINISHED_PATH_EX_DMZ) - Config.NetUse_Finish = True - End If - If Config.ExportPath_DMZ <> String.Empty Then - Logger.Debug("RuninDMZ - Using ExportPath_DMZ: [{0}] - Overwrite ExportPath", Config.ExportPath_DMZ) - Config.ExportPath = Config.ExportPath_DMZ - End If - End If Logger.Debug("ExportPath: [{0}]", Config.ExportPath) - If Config.NetUse_Finish = True Then - If NetUse_Command(Config.DocumentPath, My.Settings.NetUse_Usr, My.Settings.NetUse_PW) = True Then - Logger.Debug("NetUse_Finish = successful!") - End If - End If - Dim oCompleteStatus As Integer = Constants.EnvelopeStatus.EnvelopeCompletelySigned Dim oSql = $"SELECT * FROM TBSIG_ENVELOPE WHERE STATUS = {oCompleteStatus} AND DATEDIFF(minute, CHANGED_WHEN, GETDATE()) >= {CompleteWaitTime} ORDER BY GUID" Dim oTable = Database.GetDatatable(oSql) @@ -157,10 +122,6 @@ Namespace Jobs Logger.Warn("EnvelopeData could not be loaded for Id [{0}]!", oId) Throw New ArgumentNullException("EnvelopeData") End If - If Config.DOCUMENT_PATH_MOVE_AFTSEND <> String.Empty Then - oEnvelopeData.DocumentPath.Replace(Config.DocumentPathOrigin, Config.DOCUMENT_PATH_MOVE_AFTSEND) - Logger.Debug("Replaced Path in oEnvelopeData.DocumentPath!") - End If Logger.Debug("Burning Annotations to pdf ...") Dim oBurnedDocument As Byte() = BurnAnnotationsToPdf(oEnvelopeData) If oBurnedDocument Is Nothing Then @@ -196,13 +157,6 @@ Namespace Jobs Throw New ExportDocumentException("Could not export final document to disk!", ex) End Try - If Config.NetUse_Finish = True Then - If Config.FINISHED_PATH_EX_DMZ <> String.Empty Then - If My.Settings.NetUse_PW <> String.Empty And My.Settings.NetUse_Usr <> String.Empty Then - Clean_DNZ_PAth(Config.FINISHED_PATH_EX_DMZ) - End If - End If - End If Logger.Info("Writing EB-bytes to database...") Update_File_DB(oOutputFilePath, oEnvelope.Id) @@ -287,48 +241,48 @@ Namespace Jobs data = br.ReadBytes(CInt(numBytes)) Return data End Function - Private Function NetUse_Command(pDestinationPath As String, pUsername As String, pPassword As String) - Dim oDectryptedPW = Helpers.Decrypt(My.Settings.NetUse_PW) - Dim netUseCommand As String = $"net use {pDestinationPath} /user:{pUsername} {oDectryptedPW}" - Logger.Debug("EXECUTING NetUse_Command for " & pDestinationPath) - Dim processInfo As New ProcessStartInfo("cmd.exe", $"/C {netUseCommand}") - processInfo.RedirectStandardOutput = True - processInfo.UseShellExecute = False - processInfo.CreateNoWindow = True - - Using process As Process = Process.Start(processInfo) - process.WaitForExit() - - ' Prüfe den Rückgabewert des net use Befehls - If process.ExitCode = 0 Then - Return True - Else - Return False - End If - End Using - End Function - - Private Function Clean_DNZ_PAth(pSourcePath As String) As Boolean - Dim oFilename = System.IO.Path.GetFileName(pSourcePath) - - Logger.Debug("## Starting Clean_DNZ_PAth ...") - Logger.Debug("## pSourcePath {0}", pSourcePath) - - Dim oDirectorySource = Path.Combine(pSourcePath, ParentFolderUID) - - Try - Logger.Debug($"Deleting oDirectorySource {oDirectorySource} ...") - Directory.Delete(oDirectorySource, True) - Console.WriteLine($"Folder successfully deleted!") - Logger.Debug($"...Deleted!") - Return True - Catch ex As Exception - Logger.Error(ex) - Return False - End Try - - - End Function + 'Private Function NetUse_Command(pDestinationPath As String, pUsername As String, pPassword As String) + ' Dim oDectryptedPW = Helpers.Decrypt(My.Settings.NetUse_PW) + ' Dim netUseCommand As String = $"net use {pDestinationPath} /user:{pUsername} {oDectryptedPW}" + ' Logger.Debug("EXECUTING NetUse_Command for " & pDestinationPath) + ' Dim processInfo As New ProcessStartInfo("cmd.exe", $"/C {netUseCommand}") + ' processInfo.RedirectStandardOutput = True + ' processInfo.UseShellExecute = False + ' processInfo.CreateNoWindow = True + + ' Using process As Process = Process.Start(processInfo) + ' process.WaitForExit() + + ' ' Prüfe den Rückgabewert des net use Befehls + ' If process.ExitCode = 0 Then + ' Return True + ' Else + ' Return False + ' End If + ' End Using + 'End Function + + 'Private Function Clean_DNZ_PAth(pSourcePath As String) As Boolean + ' Dim oFilename = System.IO.Path.GetFileName(pSourcePath) + + ' Logger.Debug("## Starting Clean_DNZ_PAth ...") + ' Logger.Debug("## pSourcePath {0}", pSourcePath) + + ' Dim oDirectorySource = Path.Combine(pSourcePath, ParentFolderUID) + + ' Try + ' Logger.Debug($"Deleting oDirectorySource {oDirectorySource} ...") + ' Directory.Delete(oDirectorySource, True) + ' Console.WriteLine($"Folder successfully deleted!") + ' Logger.Debug($"...Deleted!") + ' Return True + ' Catch ex As Exception + ' Logger.Error(ex) + ' Return False + ' End Try + + + 'End Function Private Function SendFinalEmails(pEnvelope As Envelope) As Boolean ', pAttachment As String Dim oMailToCreator = pEnvelope.FinalEmailToCreator Dim oMailToReceivers = pEnvelope.FinalEmailToReceivers @@ -398,15 +352,7 @@ Namespace Jobs Dim oAnnotations = pEnvelopeData.AnnotationData Dim oInputPath = "" If IsNothing(pEnvelopeData.DocAsByte) Then - If My.Settings.RuninDMZ Then - Logger.Debug("Replacing Path in pData.DocumentPath ...") - oInputPath = pEnvelopeData.DocumentPath.Replace(Config.DocumentPathOrigin, Config.DocumentPath) - ElseIf Config.DOCUMENT_PATH_MOVE_AFTSEND <> String.Empty Then - Logger.Debug("Replacing Path in pData.DocumentPath ...") - oInputPath = pEnvelopeData.DocumentPath.Replace(Config.DocumentPathOrigin, Config.DOCUMENT_PATH_MOVE_AFTSEND) - Else - oInputPath = pEnvelopeData.DocumentPath - End If + oInputPath = pEnvelopeData.DocumentPath Logger.Info($"Input path: [{oInputPath}]") Else Logger.Info($"we got bytes..") diff --git a/EnvelopeGenerator.Common/Models/ConfigModel.vb b/EnvelopeGenerator.Common/Models/ConfigModel.vb index 01e89f8b..dffa8036 100644 --- a/EnvelopeGenerator.Common/Models/ConfigModel.vb +++ b/EnvelopeGenerator.Common/Models/ConfigModel.vb @@ -16,17 +16,12 @@ Public Class ConfigModel Dim oRow As DataRow = oTable.Rows.Item(0) Return New DbConfig() With { - .DocumentPath = oRow.ItemEx("DOCUMENT_PATH", ""), - .DocumentPathOrigin = oRow.ItemEx("DOCUMENT_PATH", ""), - .DocumentPath_DMZ = oRow.ItemEx("DOCUMENT_PATH_DMZ", ""), - .ExportPath = oRow.ItemEx("EXPORT_PATH", ""), - .ExportPath_DMZ = oRow.ItemEx("EXPORT_PATH_DMZ", ""), - .SendingProfile = oRow.ItemEx("SENDING_PROFILE", 0), - .SignatureHost = oRow.ItemEx("SIGNATURE_HOST", ""), - .ExternalProgramName = oRow.ItemEx("EXTERNAL_PROGRAM_NAME", ""), - .DOCUMENT_PATH_MOVE_AFTSEND = oRow.ItemEx("DOCUMENT_PATH_MOVE_AFTSEND", ""), - .FINISHED_PATH_EX_DMZ = oRow.ItemEx("FINISHED_PATH_EX_DMZ", ""), - .EML_PATH_EX_DMZ = oRow.ItemEx("EML_PATH_EX_DMZ", "") + .DocumentPath = oRow.ItemEx("DOCUMENT_PATH", ""), + .DocumentPathOrigin = oRow.ItemEx("DOCUMENT_PATH", ""), + .ExportPath = oRow.ItemEx("EXPORT_PATH", ""), + .SendingProfile = oRow.ItemEx("SENDING_PROFILE", 0), + .SignatureHost = oRow.ItemEx("SIGNATURE_HOST", ""), + .ExternalProgramName = oRow.ItemEx("EXTERNAL_PROGRAM_NAME", "") } Catch ex As Exception Logger.Error(ex) diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb index ea66036d..98768762 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/My Project/Settings.Designer.vb b/EnvelopeGenerator.Common/My Project/Settings.Designer.vb index aad32a06..55633f64 100644 --- a/EnvelopeGenerator.Common/My Project/Settings.Designer.vb +++ b/EnvelopeGenerator.Common/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -53,33 +53,6 @@ Namespace My Return defaultInstance End Get End Property - - _ - Public ReadOnly Property RuninDMZ() As Boolean - Get - Return CType(Me("RuninDMZ"),Boolean) - End Get - End Property - - _ - Public ReadOnly Property NetUse_Usr() As String - Get - Return CType(Me("NetUse_Usr"),String) - End Get - End Property - - _ - Public ReadOnly Property NetUse_PW() As String - Get - Return CType(Me("NetUse_PW"),String) - End Get - End Property End Class End Namespace diff --git a/EnvelopeGenerator.Common/My Project/Settings.settings b/EnvelopeGenerator.Common/My Project/Settings.settings index f06f716e..f7f176ac 100644 --- a/EnvelopeGenerator.Common/My Project/Settings.settings +++ b/EnvelopeGenerator.Common/My Project/Settings.settings @@ -1,15 +1,5 @@  - + - - - False - - - dd-gan\Administrator - - - sY4vnATDXwosbTJGip6SqA== - - + \ No newline at end of file diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx index 1eb26f3b..97de2fe9 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx @@ -169,7 +169,7 @@ Envelope-Editor - This email could not be validated! + The email [ @Mail ] could not be varified! Error sending the envelope: diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx index 1eaecce1..f2ec900a 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.resx @@ -169,7 +169,7 @@ Umschlag-Editor - Die Email-Adresse konnte nicht validiert werden! + Die Email-Adresse [ @Mail ] konnte nicht validiert werden! Fehler beim Senden des Umschlags: diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb index 466cb614..d2679585 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb +++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb @@ -218,7 +218,7 @@ Namespace My.Resources End Property ''' - ''' Sucht eine lokalisierte Zeichenfolge, die Die Email-Adresse konnte nicht validiert werden! ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die Die Email-Adresse [ @Mail ] konnte nicht validiert werden! ähnelt. ''' Public Shared ReadOnly Property Error_email_Validation() As String Get diff --git a/EnvelopeGenerator.Common/app.config b/EnvelopeGenerator.Common/app.config index 63222b2e..dbc1d6f0 100644 --- a/EnvelopeGenerator.Common/app.config +++ b/EnvelopeGenerator.Common/app.config @@ -2,9 +2,6 @@ - -
- @@ -29,17 +26,4 @@ - - - - False - - - dd-gan\Administrator - - - sY4vnATDXwosbTJGip6SqA== - - - diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb index c4a15eaa..7265245e 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -4,9 +4,12 @@ Imports System.IO Imports DevExpress.Export.Xl Imports DevExpress.Utils.CommonDialogs Imports DevExpress.Utils.Drawing +Imports DevExpress.Utils.Svg.CommonSvgImages Imports DevExpress.XtraEditors Imports DevExpress.XtraExport.Helpers Imports DevExpress.XtraGrid +Imports DevExpress.XtraGrid.Columns +Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraSplashScreen Imports DigitalData.Modules.Base @@ -41,30 +44,30 @@ Partial Public Class frmEnvelopeEditor 'SaveEnvelopeWithValidation() ' If Not IsNothing(Envelope) Then Try - ' prüfen ob es schon eine Datei gibt - If Documents.Count > 0 Then - MsgBox(Resources.Envelope.Only_one_file_is_allowed, MsgBoxStyle.Information, Text) - Return - End If + ' prüfen ob es schon eine Datei gibt + If Documents.Count > 0 Then + MsgBox(Resources.Envelope.Only_one_file_is_allowed, MsgBoxStyle.Information, Text) + Return + End If - If OpenFileDialog1.ShowDialog() = DialogResult.OK Then - Dim oDocument = Await Controller.CreateDocument(OpenFileDialog1.FileName) + If OpenFileDialog1.ShowDialog() = DialogResult.OK Then + Dim oDocument = Await Controller.CreateDocument(OpenFileDialog1.FileName) - If oDocument IsNot Nothing Then - Documents.Add(oDocument) - ' Update_File_DB(OpenFileDialog1.FileName) - Else - MsgBox(Resources.Envelope.Document_Could_Not_Be_Saved, MsgBoxStyle.Critical, Text) - End If + If oDocument IsNot Nothing Then + Documents.Add(oDocument) + ' Update_File_DB(OpenFileDialog1.FileName) + Else + MsgBox(Resources.Envelope.Document_Could_Not_Be_Saved, MsgBoxStyle.Critical, Text) End If + End If - Catch ex As Exception - Logger.Error(ex) - Finally - SplashScreenManager.CloseOverlayForm(oHandle) + Catch ex As Exception + Logger.Error(ex) + Finally + SplashScreenManager.CloseOverlayForm(oHandle) - RibbonPageGroupAddSignature_Enabled() - End Try + RibbonPageGroupAddSignature_Enabled() + End Try ' Else ' SplashScreenManager.CloseOverlayForm(oHandle) ' End If @@ -531,7 +534,12 @@ Partial Public Class frmEnvelopeEditor RibbonPageGroupAddSignature_Enabled() End Sub Dim CellValueChanged As Boolean = False + Private Sub ViewReceivers_ColumnPositionChanged(sender As Object, e As EventArgs) Handles ViewReceivers.ColumnPositionChanged + + + End Sub Private Sub ViewReceivers_CellValueChanged(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles ViewReceivers.CellValueChanged + If e.Column.FieldName = COL_EMAIL And CellValueChanged = False Then If e.Value Is Nothing Then ' Keine E-Mail-Adresse, also weg damit @@ -552,14 +560,20 @@ Partial Public Class frmEnvelopeEditor ViewReceivers.SetRowCellValue(e.RowHandle, ViewReceivers.Columns.Item(COL_CODE), oAccessCode) CellValueChanged = False Else - MsgBox(Resources.Envelope.Error_email_Validation, MsgBoxStyle.Exclamation, Text) - ViewReceivers.SetFocusedValue("") + Dim oMsg = Resources.Envelope.Error_email_Validation + oMsg = oMsg.Replace("@Mail", oEmailAdress) + MsgBox(oMsg, MsgBoxStyle.Exclamation, Text) + ViewReceivers.DeleteRow(ViewReceivers.FocusedRowHandle) End If End If End If End If End Sub + Private Sub email_validation() + + End Sub + Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean Try If pEmailAddress.Contains("@") Then @@ -584,4 +598,10 @@ Partial Public Class frmEnvelopeEditor Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick End Sub + + Private Sub ViewReceivers_CellValueChanging(sender As Object, e As CellValueChangedEventArgs) Handles ViewReceivers.CellValueChanging + + End Sub + + End Class From 9c431ddf56bfd15c3d850daaea8c3f933f9f6b67 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 14:58:32 +0100 Subject: [PATCH 4/9] =?UTF-8?q?refactor(Config):=20DocumentPathDmz,=20Expo?= =?UTF-8?q?rtPathDmz=20und=20DocumentPathMoveAftsend=20sowohl=20in=20der?= =?UTF-8?q?=20Entit=C3=A4t=20als=20auch=20im=20DTO=20entfernt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Application/DTOs/ConfigDto.cs | 7 +++---- EnvelopeGenerator.Domain/Entities/Config.cs | 15 +++------------ .../Services/EnvelopeOldService.cs | 7 ------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/EnvelopeGenerator.Application/DTOs/ConfigDto.cs b/EnvelopeGenerator.Application/DTOs/ConfigDto.cs index f96f131d..2dc76824 100644 --- a/EnvelopeGenerator.Application/DTOs/ConfigDto.cs +++ b/EnvelopeGenerator.Application/DTOs/ConfigDto.cs @@ -1,4 +1,5 @@ using DigitalData.Core.Abstractions; +using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace EnvelopeGenerator.Application.DTOs @@ -8,11 +9,9 @@ namespace EnvelopeGenerator.Application.DTOs int SendingProfile, string SignatureHost, string ExternalProgramName, - string ExportPath, - string DocumentPathDmz, - string ExportPathDmz, - string DocumentPathMoveAftsend) : IUnique + string ExportPath) : IUnique { + [NotMapped] [JsonIgnore] [Obsolete("Configuration does not have an ID; it represents a single table in the database.")] public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single row in the database."); diff --git a/EnvelopeGenerator.Domain/Entities/Config.cs b/EnvelopeGenerator.Domain/Entities/Config.cs index 6621beb5..0f5d48e5 100644 --- a/EnvelopeGenerator.Domain/Entities/Config.cs +++ b/EnvelopeGenerator.Domain/Entities/Config.cs @@ -1,6 +1,7 @@ using DigitalData.Core.Abstractions; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Text.Json.Serialization; namespace EnvelopeGenerator.Domain.Entities { @@ -23,19 +24,9 @@ namespace EnvelopeGenerator.Domain.Entities [Column("EXPORT_PATH", TypeName = "nvarchar(256)")] public string? ExportPath { get; init; } - [Column("DOCUMENT_PATH_DMZ", TypeName = "nvarchar(512)")] - [Required] - public string? DocumentPathDmz { get; init; } - - [Column("EXPORT_PATH_DMZ", TypeName = "nvarchar(512)")] - [Required] - public required string ExportPathDmz { get; init; } - - [Column("DOCUMENT_PATH_MOVE_AFTSEND", TypeName = "nvarchar(512)")] - [Required] - public required string DocumentPathMoveAftsend { get; init; } - [Obsolete("Configuration does not have an ID; it represents a single table in the database.")] + [NotMapped] + [JsonIgnore] public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single table in the database."); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Services/EnvelopeOldService.cs b/EnvelopeGenerator.Web/Services/EnvelopeOldService.cs index f8786918..8dcd4d61 100644 --- a/EnvelopeGenerator.Web/Services/EnvelopeOldService.cs +++ b/EnvelopeGenerator.Web/Services/EnvelopeOldService.cs @@ -98,13 +98,6 @@ namespace EnvelopeGenerator.Web.Services //if documenet_path_dmz is existing in config, replace the path with it var config = await _configService.ReadDefaultAsync(); - if (config.DocumentPathDmz is not null && config.DocumentPathDmz != string.Empty) - foreach (var doc in envelope.Documents) - { - doc.Filepath = doc.Filepath.Replace(config.DocumentPath, config.DocumentPathDmz); - } - - return new() { Receiver = receiver, From 1f57914f9ec66e41476a6614b73a0cc83ee42f05 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 15:12:48 +0100 Subject: [PATCH 5/9] =?UTF-8?q?refactor(=5FLayout.cshtml):=20aktualisiert,?= =?UTF-8?q?=20um=20Datenschutz=20und=20die=20Website=20der=20Digital=20Dat?= =?UTF-8?q?a=20GmbH=20bei=20Klick=20in=20einem=20neuen=20Tab=20zu=20=C3=B6?= =?UTF-8?q?ffnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml index ecef6a3b..34b53040 100644 --- a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml +++ b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml @@ -79,7 +79,7 @@ @Html.AntiForgeryToken() \ No newline at end of file From 360bb9b3d882038e37f44a33dc68959b7eebfb80 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 15:24:18 +0100 Subject: [PATCH 6/9] =?UTF-8?q?refactor(=5Flayout.cshtml):=20Datenschutz-L?= =?UTF-8?q?ink=20in=20der=20Fu=C3=9Fzeile=20aktualisiert,=20unterst=C3=BCt?= =?UTF-8?q?zt=20mehrere=20Sprachen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Application/Resources/Resource.de-DE.resx | 3 +++ EnvelopeGenerator.Application/Resources/Resource.en-US.resx | 3 +++ EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml | 2 +- EnvelopeGenerator.Web/WebKey.cs | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/EnvelopeGenerator.Application/Resources/Resource.de-DE.resx b/EnvelopeGenerator.Application/Resources/Resource.de-DE.resx index 244fbc28..b86a15c3 100644 --- a/EnvelopeGenerator.Application/Resources/Resource.de-DE.resx +++ b/EnvelopeGenerator.Application/Resources/Resource.de-DE.resx @@ -180,6 +180,9 @@ Dokument erfordert einen Zugriffscode + + Datenschutz + Weitergeleitet von {0}. Gültig bis {1}. diff --git a/EnvelopeGenerator.Application/Resources/Resource.en-US.resx b/EnvelopeGenerator.Application/Resources/Resource.en-US.resx index b99951ec..5509c519 100644 --- a/EnvelopeGenerator.Application/Resources/Resource.en-US.resx +++ b/EnvelopeGenerator.Application/Resources/Resource.en-US.resx @@ -180,6 +180,9 @@ Document requires an access code + + Privacy + Forwarded by {0}. Valid until {1}. diff --git a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml index 34b53040..62be76b2 100644 --- a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml +++ b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml @@ -97,7 +97,7 @@ } - Datenschutz + @_localizer[WebKey.Privacy] \ No newline at end of file diff --git a/EnvelopeGenerator.Web/WebKey.cs b/EnvelopeGenerator.Web/WebKey.cs index d87c179e..d7507b68 100644 --- a/EnvelopeGenerator.Web/WebKey.cs +++ b/EnvelopeGenerator.Web/WebKey.cs @@ -36,5 +36,6 @@ public static readonly string WelcomeToTheESignPortal = nameof(WelcomeToTheESignPortal); public static readonly string ViewDoc = nameof(ViewDoc); public static readonly string HomePageDescription = nameof(HomePageDescription); + public static readonly string Privacy = nameof(Privacy); } } \ No newline at end of file From 62dcb4152606c0a52ece27cf8725dbbc5a8441eb Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 15:37:28 +0100 Subject: [PATCH 7/9] =?UTF-8?q?Refactor:=20Unn=C3=B6tige=20alte=20Fu=C3=9F?= =?UTF-8?q?zeilen=20aus=20den=20Ansichten=20=E2=80=9EUmschlag=20abgelaufen?= =?UTF-8?q?=E2=80=9C,=20=E2=80=9EAbgelehnt=E2=80=9C=20und=20=E2=80=9ESigni?= =?UTF-8?q?ert=E2=80=9C=20entfernt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Web/Views/Home/EnvelopeExpired.cshtml | 3 +-- EnvelopeGenerator.Web/Views/Home/EnvelopeRejected.cshtml | 3 +-- EnvelopeGenerator.Web/Views/Home/EnvelopeSigned.cshtml | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/EnvelopeGenerator.Web/Views/Home/EnvelopeExpired.cshtml b/EnvelopeGenerator.Web/Views/Home/EnvelopeExpired.cshtml index 7ba52d25..843acfa4 100644 --- a/EnvelopeGenerator.Web/Views/Home/EnvelopeExpired.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/EnvelopeExpired.cshtml @@ -20,5 +20,4 @@

Der Zeitraum für die gemeinsame Nutzung von Dokumenten ist abgelaufen.

- - \ No newline at end of file + \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Views/Home/EnvelopeRejected.cshtml b/EnvelopeGenerator.Web/Views/Home/EnvelopeRejected.cshtml index 8ba4a6b4..f7663271 100644 --- a/EnvelopeGenerator.Web/Views/Home/EnvelopeRejected.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/EnvelopeRejected.cshtml @@ -68,5 +68,4 @@

- - \ No newline at end of file + \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Views/Home/EnvelopeSigned.cshtml b/EnvelopeGenerator.Web/Views/Home/EnvelopeSigned.cshtml index 5d0d7379..67cd10ff 100644 --- a/EnvelopeGenerator.Web/Views/Home/EnvelopeSigned.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/EnvelopeSigned.cshtml @@ -14,5 +14,4 @@

Sie haben das Dokument signiert. Im Anschluss erhalten Sie eine schriftliche Bestätigung.

- - \ No newline at end of file + \ No newline at end of file From 62d396932dfb596a2cd2ff7b36f4dcb98019e52d Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 15:42:51 +0100 Subject: [PATCH 8/9] refactor(EnvelopeDocument): removed Filename, Filepath and FilenameOriginal properties. --- EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs b/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs index 85d9ce77..97723f0a 100644 --- a/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs +++ b/EnvelopeGenerator.Domain/Entities/EnvelopeDocument.cs @@ -16,21 +16,10 @@ namespace EnvelopeGenerator.Domain.Entities [Column("ENVELOPE_ID")] public int EnvelopeId { get; set; } - [Required] - [Column("FILENAME", TypeName = "nvarchar(256)")] - public required string Filename { get; set; } - - [Required] - [Column("FILEPATH", TypeName = "nvarchar(256)")] - public required string Filepath { get; set; } - [Required] [Column("ADDED_WHEN", TypeName = "datetime")] public required DateTime AddedWhen { get; set; } - [Column("FILENAME_ORIGINAL", TypeName = "nvarchar(256)")] - public required string FilenameOriginal { get; set; } - [Column("BYTE_DATA", TypeName = "varbinary(max)")] public byte[]? ByteData { get; init; } From 608d79d35bbe2882f95410152e02f988bdeef7b9 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 15:54:15 +0100 Subject: [PATCH 9/9] chore(Web): upgraded to 2.6.0 --- EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj index 34d344a4..cdf7bca1 100644 --- a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj +++ b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj @@ -5,7 +5,7 @@ enable enable EnvelopeGenerator.Web - 2.5.0.0 + 2.6.0 Digital Data GmbH Digital Data GmbH EnvelopeGenerator.Web @@ -13,8 +13,8 @@ digital data envelope generator web EnvelopeGenerator.Web is an ASP.NET MVC application developed to manage signing processes. It uses Entity Framework Core (EF Core) for database operations. The user interface for signing processes is developed with Razor View Engine (.cshtml files) and JavaScript under wwwroot, integrated with PSPDFKit. This integration allows users to view and sign documents seamlessly. Assets\icon.ico - 2.5.0.0 - 2.5.0.0 + 2.6.0 + 2.6.0 Copyright © 2024 Digital Data GmbH. All rights reserved.