diff --git a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj index ae04be06..ebc60984 100644 --- a/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj +++ b/EnvelopeGenerator.Common/EnvelopeGenerator.Common.vbproj @@ -63,19 +63,17 @@ - - False - ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll + + ..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + ..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll - ..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll + ..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll - - False - ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + ..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll diff --git a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb index 9c3abc31..f15171d1 100644 --- a/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb +++ b/EnvelopeGenerator.Common/Jobs/FinalizeDocument/FinalizeDocumentJob.vb @@ -33,7 +33,7 @@ Namespace Jobs Private PDFMerger As PDFMerger Private ReportCreator As ReportCreator - Private ReadOnly CompleteWaitTime As Integer = 5 + Private ReadOnly CompleteWaitTime As Integer = 1 Private ParentFolderUID As String = "" Private myTempFiles As TempFiles diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb index be1784b9..45778e79 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 24c9d2fa..d22ae95c 100644 --- a/EnvelopeGenerator.Common/Services/ActionService.vb +++ b/EnvelopeGenerator.Common/Services/ActionService.vb @@ -34,6 +34,16 @@ Public Class ActionService Return True End Function + Public Function Resend_Receiver(pEnvelope As Envelope, pmail As String) As Boolean + If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeQueued, pEnvelope.User.Email) = False Then + Return False + End If + Dim oSendResult As Boolean = False + For Each oReceiver In pEnvelope.Receivers + EmailService.SendDocumentReceivedEmail(pEnvelope, oReceiver) + Next + Return oSendResult + End Function Public Function ResendReceiver(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean EmailService.SendDocumentReceivedEmail(pEnvelope, pReceiver) End Function diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx index 852d303a..c2932954 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx @@ -186,6 +186,9 @@ Receiver {0} has an invalid Email Address. + + Invitation has been send once again! + Missing Documents diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx index c2d29765..eb742922 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.resx @@ -186,6 +186,9 @@ Empfänger {0} hat keine gültige Email Addresse. + + Die Einladung wurde nochmal versendet! + Fehlendes Dokument diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb index 2958b705..2abe44d8 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb +++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb @@ -271,6 +271,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Die Einladung wurde nochmal versendet! ähnelt. + ''' + Public Shared ReadOnly Property Invitation_successfully_resend() As String + Get + Return ResourceManager.GetString("Invitation successfully resend", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Fehlendes Dokument ähnelt. ''' diff --git a/EnvelopeGenerator.Form/DD_signFLOW_ICON.ico b/EnvelopeGenerator.Form/DD_signFLOW_ICON.ico new file mode 100644 index 00000000..2f18d163 Binary files /dev/null and b/EnvelopeGenerator.Form/DD_signFLOW_ICON.ico differ diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj index 76019f6d..e30fac81 100644 --- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj +++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj @@ -41,7 +41,10 @@ EnvelopeGenerator.Form.My.MyApplication - DD_signFLOW_icon_256.ico + DD_signFLOW_ICON.ico + + + true @@ -75,14 +78,20 @@ ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - - ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + + False + ..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll - - ..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll + + False + ..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll - - ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + False + ..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + + ..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll False @@ -180,6 +189,7 @@ frmEnvelopeEditor.vb + Designer frmEnvelopeEditor.vb @@ -194,6 +204,7 @@ frmFieldEditor.vb + Designer frmFieldEditor.vb @@ -244,6 +255,7 @@ + diff --git a/EnvelopeGenerator.Form/app.config b/EnvelopeGenerator.Form/app.config index f3a1fb9f..a5b30491 100644 --- a/EnvelopeGenerator.Form/app.config +++ b/EnvelopeGenerator.Form/app.config @@ -14,10 +14,10 @@ True - Skin/The Bezier + Skin/Office 2019 White - VS 2019 Blue + diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb index 7e50eeaa..41178281 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.Designer.vb @@ -398,7 +398,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlGroup4.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup5}) Me.LayoutControlGroup4.Name = "LayoutControlGroup4" Me.LayoutControlGroup4.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0) - Me.LayoutControlGroup4.Size = New System.Drawing.Size(251, 526) + Me.LayoutControlGroup4.Size = New System.Drawing.Size(251, 530) Me.LayoutControlGroup4.TextVisible = False ' 'LayoutControlGroup5 @@ -406,7 +406,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlGroup5.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem5}) Me.LayoutControlGroup5.Location = New System.Drawing.Point(0, 0) Me.LayoutControlGroup5.Name = "LayoutControlGroup5" - Me.LayoutControlGroup5.Size = New System.Drawing.Size(251, 526) + Me.LayoutControlGroup5.Size = New System.Drawing.Size(251, 530) resources.ApplyResources(Me.LayoutControlGroup5, "LayoutControlGroup5") ' 'LayoutControlItem5 @@ -414,7 +414,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlItem5.Control = Me.GridDocuments Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem5.Name = "LayoutControlItem5" - Me.LayoutControlItem5.Size = New System.Drawing.Size(227, 477) + Me.LayoutControlItem5.Size = New System.Drawing.Size(227, 485) Me.LayoutControlItem5.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem5.TextVisible = False ' @@ -578,7 +578,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlItem2.Control = Me.GridReceivers Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem2.Name = "LayoutControlItem2" - Me.LayoutControlItem2.Size = New System.Drawing.Size(875, 200) + Me.LayoutControlItem2.Size = New System.Drawing.Size(875, 204) Me.LayoutControlItem2.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem2.TextVisible = False ' @@ -611,7 +611,7 @@ Partial Public Class frmEnvelopeEditor Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlGroup1}) Me.Root.Name = "Root" Me.Root.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0) - Me.Root.Size = New System.Drawing.Size(899, 259) + Me.Root.Size = New System.Drawing.Size(899, 263) Me.Root.TextVisible = False ' 'LayoutControlGroup1 @@ -620,7 +620,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 0) Me.LayoutControlGroup1.Name = "LayoutControlGroup1" Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) - Me.LayoutControlGroup1.Size = New System.Drawing.Size(899, 259) + Me.LayoutControlGroup1.Size = New System.Drawing.Size(899, 263) resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1") ' 'LayoutControlItem3 @@ -629,7 +629,7 @@ Partial Public Class frmEnvelopeEditor Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem3.Name = "LayoutControlItem3" Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) - Me.LayoutControlItem3.Size = New System.Drawing.Size(873, 208) + Me.LayoutControlItem3.Size = New System.Drawing.Size(873, 216) resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3") Me.LayoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem3.TextSize = New System.Drawing.Size(49, 13) diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.en.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.en.resx index f4fed284..78308364 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.en.resx +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.en.resx @@ -384,6 +384,6 @@ - Sign Flow - Envelope-Editor + signFLOW - Envelope-Editor \ No newline at end of file diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx index 49b707fa..6582bc35 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.resx +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.resx @@ -126,7 +126,7 @@ 0, 132 - 14, 39 + 14, 35 Dateiname @@ -439,10 +439,10 @@ 1164, 132 - 0, 658 + 0, 662 - 1164, 26 + 1164, 22 RibbonStatusBar1 @@ -469,7 +469,7 @@ 2 - 223, 473 + 223, 481 0 @@ -496,7 +496,7 @@ Ihre Dokumente - 251, 526 + 251, 530 1 @@ -541,7 +541,7 @@ 334, 17 - 14, 39 + 14, 35 @@ -635,7 +635,7 @@ Combo - 871, 196 + 871, 200 0 @@ -728,13 +728,13 @@ 0 - 23, 64 + 23, 60 Segoe UI, 9.75pt - 853, 172 + 853, 180 2 @@ -764,7 +764,7 @@ Ihre Nachricht - 899, 259 + 899, 263 0 @@ -794,7 +794,7 @@ 0, 0, 0, 0 - 903, 263 + 903, 267 1 @@ -827,7 +827,7 @@ 1 - 903, 526 + 903, 530 0 @@ -860,7 +860,7 @@ 1 - 1164, 526 + 1164, 530 1 @@ -878,7 +878,7 @@ 0 - 792, 17 + 17, 54 557, 17 @@ -948,7 +948,7 @@ CenterScreen - Sign Flow - Umschlag-Editor + signFLOW - Umschlag-Editor SplashScreenManager1 diff --git a/EnvelopeGenerator.Form/frmFieldEditor.en.resx b/EnvelopeGenerator.Form/frmFieldEditor.en.resx index 2308316f..379b5273 100644 --- a/EnvelopeGenerator.Form/frmFieldEditor.en.resx +++ b/EnvelopeGenerator.Form/frmFieldEditor.en.resx @@ -299,6 +299,6 @@ - Sign Flow - Signature-Editor + signFLOW - Signature-Editor \ No newline at end of file diff --git a/EnvelopeGenerator.Form/frmFieldEditor.resx b/EnvelopeGenerator.Form/frmFieldEditor.resx index 04217f00..5eba2d41 100644 --- a/EnvelopeGenerator.Form/frmFieldEditor.resx +++ b/EnvelopeGenerator.Form/frmFieldEditor.resx @@ -538,7 +538,7 @@ CenterScreen - Sign Flow - Signatur-Editor + signFLOW - Signatur-Editor BarButtonItem1 diff --git a/EnvelopeGenerator.Form/frmMain.Designer.vb b/EnvelopeGenerator.Form/frmMain.Designer.vb index 3d0ef245..24411220 100644 --- a/EnvelopeGenerator.Form/frmMain.Designer.vb +++ b/EnvelopeGenerator.Form/frmMain.Designer.vb @@ -60,6 +60,8 @@ Partial Class frmMain Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem() Me.bsitmInfo = New DevExpress.XtraBars.BarStaticItem() Me.bbtnitmEB = New DevExpress.XtraBars.BarButtonItem() + Me.bbtnitmInfoMail = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageEnvelopeActions = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -85,8 +87,6 @@ Partial Class frmMain Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn() Me.RefreshTimer = New System.Windows.Forms.Timer(Me.components) Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() - Me.bbtnitmInfoMail = New DevExpress.XtraBars.BarButtonItem() - Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.Panel1.SuspendLayout() @@ -410,6 +410,20 @@ Partial Class frmMain Me.bbtnitmEB.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitmEB.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.bbtnitmEB.Name = "bbtnitmEB" ' + 'bbtnitmInfoMail + ' + resources.ApplyResources(Me.bbtnitmInfoMail, "bbtnitmInfoMail") + Me.bbtnitmInfoMail.Id = 15 + Me.bbtnitmInfoMail.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitmInfoMail.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.bbtnitmInfoMail.Name = "bbtnitmInfoMail" + ' + 'BarButtonItem2 + ' + resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2") + Me.BarButtonItem2.Id = 16 + Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.BarButtonItem2.Name = "BarButtonItem2" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageEnvelopeActions, Me.RibbonPageGroup1, Me.RibbonPageGroup2}) @@ -600,20 +614,6 @@ Partial Class frmMain ' resources.ApplyResources(Me.SaveFileDialog1, "SaveFileDialog1") ' - 'bbtnitmInfoMail - ' - resources.ApplyResources(Me.bbtnitmInfoMail, "bbtnitmInfoMail") - Me.bbtnitmInfoMail.Id = 15 - Me.bbtnitmInfoMail.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) - Me.bbtnitmInfoMail.Name = "bbtnitmInfoMail" - ' - 'BarButtonItem2 - ' - resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2") - Me.BarButtonItem2.Id = 16 - Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage1"), DevExpress.Utils.Svg.SvgImage) - Me.BarButtonItem2.Name = "BarButtonItem2" - ' 'frmMain ' resources.ApplyResources(Me, "$this") diff --git a/EnvelopeGenerator.Form/frmMain.resx b/EnvelopeGenerator.Form/frmMain.resx index 8b6ae1b0..c6a77db3 100644 --- a/EnvelopeGenerator.Form/frmMain.resx +++ b/EnvelopeGenerator.Form/frmMain.resx @@ -123,7 +123,7 @@ - 0, 162 + 0, 160 Fill @@ -714,7 +714,7 @@ Support Mail - + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl @@ -734,9 +734,9 @@ - BarButtonItem2 + Einladung erneut versenden - + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl @@ -777,13 +777,13 @@ Einstellungen - 1090, 162 + 1090, 160 - 0, 656 + 0, 660 - 1090, 26 + 1090, 22 RibbonStatusBar @@ -810,7 +810,7 @@ 2 - 1088, 455 + 1088, 467 2 @@ -828,7 +828,7 @@ 0 - 1088, 455 + 1088, 467 Offene Umschläge @@ -846,7 +846,7 @@ 0 - 1090, 484 + 1090, 490 3 @@ -990,7 +990,7 @@ 195 - 1088, 455 + 1088, 467 3 @@ -1008,7 +1008,7 @@ 0 - 1088, 455 + 1088, 467 Abgeschlossene Umschläge @@ -1068,7 +1068,7 @@ 1 - 1090, 494 + 1090, 500 5 @@ -1097,6 +1097,9 @@ True + + 263 + 6, 13 @@ -1105,89 +1108,90 @@ - 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 + Bv/c01f/A4y2+8cc2/IPAAAAAElFTkSuQmCC CenterScreen - Sign Flow + signFLOW SplashScreenManager1 @@ -1369,6 +1373,18 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + bbtnitmInfoMail + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + BarButtonItem2 + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage1 @@ -1501,18 +1517,6 @@ System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - bbtnitmInfoMail - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - BarButtonItem2 - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - frmMain diff --git a/EnvelopeGenerator.Form/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index 101684e9..4ca0f99b 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -11,6 +11,7 @@ Imports DigitalData.Modules.Logging Imports EnvelopeGenerator.Common Imports EnvelopeGenerator.Common.My Imports System.Diagnostics +Imports System.ComponentModel Public Class frmMain Private ReadOnly LogConfig As LogConfig @@ -45,7 +46,7 @@ Public Class frmMain Controller = New EnvelopeListController(State) Try Me.LookAndFeel.UseDefaultLookAndFeel = False - LookAndFeel.SetSkinStyle(SkinStyle.Office2019Colorful, SkinSvgPalette.DefaultSkin) + LookAndFeel.SetSkinStyle(SkinStyle.Office2019White, SkinSvgPalette.DefaultSkin) Catch ex As Exception End Try @@ -204,6 +205,7 @@ Public Class frmMain btnShowDocument.Enabled = True bbtnitmEB.Enabled = False LoadEnvelopeData() + txtEnvelopeIdLabel.Caption = "No Envelope selected" End Select End Sub @@ -228,13 +230,18 @@ Public Class frmMain End Sub Private Sub bbtnitmEB_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmEB.ItemClick Try - If ViewEnvelopes.FocusedRowHandle < 0 Then + If IsNothing(ViewEnvelopes.FocusedRowHandle) Then + bsitmInfo.Caption = "No row selected" Exit Sub End If + bsitmInfo.Caption = "" Me.Cursor = Cursors.WaitCursor Dim oEnvelope As Envelope = ViewCompleted.GetRow(ViewCompleted.FocusedRowHandle) GetResRepFileStreamByte(oEnvelope.Id) Dim oTempFolder = TempFiles.TempPath + If Not Directory.Exists(oTempFolder) Then + Directory.CreateDirectory(oTempFolder) + End If Dim oFilename = "ViewEnvResReport" Dim oVersion As Integer = 0 Dim oTempFilename = String.Concat(oTempFolder, "\", $"{oFilename}_{oEnvelope.Id}.pdf") @@ -242,19 +249,6 @@ Public Class frmMain oVersion += 1 oTempFilename = String.Concat(oTempFolder, "\", $"{oFilename}_{oEnvelope.Id}_", oVersion.ToString, ".pdf") Loop - 'If File.Exists(oTempFilename) Then - ' oVersion += 1 - ' oTempFilename = String.Concat(oTempFolder, "\", $"ViewEnvResReport_{oEnvelope.Id}_", oVersion.ToString, ".pdf") - ' Try - ' File.OpenWrite(oTempFilename) - ' Catch ex As Exception - ' MsgBox("File might already be open?", MsgBoxStyle.Exclamation) - ' Exit Sub - ' End Try - - - ' File.Delete(oTempFilename) - 'End If downloadResFile(oTempFilename) Catch ex As Exception @@ -408,10 +402,12 @@ Public Class frmMain If Not fileData Is Nothing Then myResFileData = fileData Else + bsitmInfo.Caption = "FileStream 1 is nothing - check data!" myResFileData = Nothing End If Else myResFileData = Nothing + bsitmInfo.Caption = "FileStream 2 is nothing - check data!" End If @@ -443,6 +439,7 @@ Public Class frmMain Private Sub downloadResFile(ByVal sFileName As String) Try If Not myResFileData Is Nothing Then + Logger.Debug("working myResFileData in downloadResFile") 'Read image data into a file stream Using fs As New FileStream(sFileName, FileMode.OpenOrCreate, FileAccess.Write) fs.Write(myResFileData, 0, myResFileData.Length) @@ -450,6 +447,7 @@ Public Class frmMain fs.Flush() fs.Close() End Using + Logger.Debug($"Trying to open {sFileName}...") 'Open File Process.Start(sFileName) Else @@ -548,6 +546,40 @@ Public Class frmMain End Sub Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick + Dim oView As GridView = GridEnvelopes.FocusedView + Dim selReceiver As EnvelopeReceiver + If oView.Name = ViewReceivers.Name Then + selReceiver = oView.GetRow(oView.FocusedRowHandle) + Else + MsgBox(Resources.Envelope.Please_select_a_recipient_from_the_Recipients_tab, MsgBoxStyle.Information, Text) + End If + If ViewEnvelopes.FocusedRowHandle < 0 Or IsNothing(selReceiver) Then + Exit Sub + End If + Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(ViewEnvelopes.FocusedRowHandle) + + Dim oController = New EnvelopeEditorController(State, oEnvelope) + Dim Documents As New BindingList(Of EnvelopeDocument) + Dim Receivers As New BindingList(Of EnvelopeReceiver) + Receivers = New BindingList(Of EnvelopeReceiver)(oController.Envelope.Receivers) + For Each oReceiver As EnvelopeReceiver In Receivers + 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 + + + End Sub + + Private Sub ViewEnvelopes_Click(sender As Object, e As EventArgs) Handles ViewEnvelopes.Click + If ViewEnvelopes.FocusedRowHandle < 0 Then + Exit Sub + End If + Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(ViewEnvelopes.FocusedRowHandle) + + txtEnvelopeIdLabel.Caption = String.Format(txtEnvelopeIdLabel.Tag, oEnvelope.Id) End Sub End Class \ No newline at end of file diff --git a/EnvelopeGenerator.Service/EnvelopeGenerator.Service.vbproj b/EnvelopeGenerator.Service/EnvelopeGenerator.Service.vbproj index 876821f9..f4d0f95e 100644 --- a/EnvelopeGenerator.Service/EnvelopeGenerator.Service.vbproj +++ b/EnvelopeGenerator.Service/EnvelopeGenerator.Service.vbproj @@ -49,26 +49,22 @@ - ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll + ..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + ..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll - - False - ..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll + + ..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll - - False - ..\..\DDModules\Encryption\bin\Debug\DigitalData.Modules.Encryption.dll + + ..\..\2_DLL Projekte\DDModules\Encryption\bin\Debug\DigitalData.Modules.Encryption.dll - - False - ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + ..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll - - False - ..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll + + ..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll False