From 48db26931c88f483b32469b5fc87d4f5fb08f39a Mon Sep 17 00:00:00 2001 From: SchreiberM Date: Wed, 29 May 2024 12:58:15 +0200 Subject: [PATCH] MS EnvelopeGenerator.Common v1.6 Reason for Aborting XX.Form v1.7 Reason Aborting --- .../My Project/AssemblyInfo.vb | 4 +- .../Services/ActionService.vb | 4 +- .../Services/EmailService.vb | 4 +- .../Services/TemplateService.vb | 11 +- .../Controllers/BaseController.vb | 4 +- .../Controllers/EnvelopeListController.vb | 4 +- .../EnvelopeGenerator.Form.vbproj | 9 ++ .../My Project/AssemblyInfo.vb | 2 +- EnvelopeGenerator.Form/frmMain.vb | 21 ++- .../frmRueckruf.Designer.vb | 129 ++++++++++++++++++ EnvelopeGenerator.Form/frmRueckruf.resx | 123 +++++++++++++++++ EnvelopeGenerator.Form/frmRueckruf.vb | 39 ++++++ 12 files changed, 332 insertions(+), 22 deletions(-) create mode 100644 EnvelopeGenerator.Form/frmRueckruf.Designer.vb create mode 100644 EnvelopeGenerator.Form/frmRueckruf.resx create mode 100644 EnvelopeGenerator.Form/frmRueckruf.vb diff --git a/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Common/My Project/AssemblyInfo.vb index 9b4d76e6..4e19c511 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 b0b44291..e2b114b1 100644 --- a/EnvelopeGenerator.Common/Services/ActionService.vb +++ b/EnvelopeGenerator.Common/Services/ActionService.vb @@ -34,13 +34,13 @@ Public Class ActionService Return True End Function - Public Function DeleteEnvelope(pEnvelope As Envelope) As Boolean + Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean If HistoryService.SetEnvelopeStatus(pEnvelope, Constants.EnvelopeStatus.EnvelopeDeleted, pEnvelope.User.Email) = False Then Return False End If Dim oSendResult = pEnvelope.Receivers. - Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r)). + Select(Function(r) EmailService.SendEnvelopeDeletedEmail(pEnvelope, r, pReason)). All(Function(r) r = True) If oSendResult = False Then diff --git a/EnvelopeGenerator.Common/Services/EmailService.vb b/EnvelopeGenerator.Common/Services/EmailService.vb index b4fe38ec..dae37fea 100644 --- a/EnvelopeGenerator.Common/Services/EmailService.vb +++ b/EnvelopeGenerator.Common/Services/EmailService.vb @@ -15,14 +15,14 @@ Public Class EmailService EmailTemplate = New TemplateService(pState) End Sub - Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver) As Boolean + Public Function SendEnvelopeDeletedEmail(pEnvelope As Envelope, pReceiver As EnvelopeReceiver, pReason As String) As Boolean Logger.Debug("Creating email data object.") Dim oEmailData As New EmailData(pEnvelope, pReceiver, Constants.EnvelopeStatus.MessageDeletionSent) With { .SignatureLink = "" } - EmailTemplate.FillEnvelopeDeletedEmailBody(oEmailData) + EmailTemplate.FillEnvelopeDeletedEmailBody(oEmailData, pReason) If EmailModel.Insert(oEmailData) = False Then Logger.Error("EMail data could not be inserted.") diff --git a/EnvelopeGenerator.Common/Services/TemplateService.vb b/EnvelopeGenerator.Common/Services/TemplateService.vb index 193e325c..72faf225 100644 --- a/EnvelopeGenerator.Common/Services/TemplateService.vb +++ b/EnvelopeGenerator.Common/Services/TemplateService.vb @@ -16,7 +16,7 @@ Public Class TemplateService EmailHtmlTemplateModel = New EmailTemplateModel(pState) End Sub - Private Sub InitDictionary(pEmailData As EmailData) + Private Sub InitDictionary(pEmailData As EmailData, Optional pReason As String = "") Logger.Debug("Initializing dictionary..") _replaceDictionary = New Dictionary(Of String, String) From { @@ -28,7 +28,8 @@ Public Class TemplateService {"[LINK_TO_DOCUMENT_TEXT]", $"{pEmailData.SignatureLink.Truncate(40)}.."}, {"[DOCUMENT_TITLE]", pEmailData.EnvelopeTitle}, {"[MESSAGE]", pEmailData.Message}, - {"[DOCUMENT_ACCESS_CODE]", pEmailData.ReceiverAccessCode} + {"[DOCUMENT_ACCESS_CODE]", pEmailData.ReceiverAccessCode}, + {"[REASON]", pReason} } End Sub @@ -40,11 +41,11 @@ Public Class TemplateService pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub - Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData) + Public Sub FillEnvelopeDeletedEmailBody(pEmailData As EmailData, pReason As String) InitDictionary(pEmailData) Dim oTemplate = EmailHtmlTemplateModel.GetById(Constants.EmailTemplateType.DocumentDeleted) - pEmailData.EmailBody = FillTemplate(oTemplate.Body) + pEmailData.EmailBody = FillTemplate(oTemplate.Body, pReason) pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub @@ -72,7 +73,7 @@ Public Class TemplateService pEmailData.EmailSubject = FillTemplate(oTemplate.Subject) End Sub - Private Function FillTemplate(pTemplate As String) As String + Private Function FillTemplate(pTemplate As String, Optional pReason As String = "") As String Dim oText As String = pTemplate For Each dictItem As KeyValuePair(Of String, String) In _replaceDictionary diff --git a/EnvelopeGenerator.Form/Controllers/BaseController.vb b/EnvelopeGenerator.Form/Controllers/BaseController.vb index 7591b0a1..11cbdf09 100644 --- a/EnvelopeGenerator.Form/Controllers/BaseController.vb +++ b/EnvelopeGenerator.Form/Controllers/BaseController.vb @@ -42,7 +42,7 @@ Public MustInherit Class BaseController ChartModel = New ChartModel(pState) End Sub - Public Function DeleteEnvelope(pEnvelope As Envelope) As Boolean + Public Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean If pEnvelope Is Nothing Then Return True End If @@ -52,7 +52,7 @@ Public MustInherit Class BaseController Return False End If - Return ActionService.DeleteEnvelope(pEnvelope) + Return ActionService.DeleteEnvelope(pEnvelope, pReason) Else Return DeleteEnvelopeFromDisk(pEnvelope) End If diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb index f171ed8f..89f79e38 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeListController.vb @@ -15,8 +15,8 @@ Public Class EnvelopeListController Return EnvelopeModel.ListCompleted() End Function - Public Overloads Function DeleteEnvelope(pEnvelope As Envelope) As Boolean - Return MyBase.DeleteEnvelope(pEnvelope) + Public Overloads Function DeleteEnvelope(pEnvelope As Envelope, pReason As String) As Boolean + Return MyBase.DeleteEnvelope(pEnvelope, pReason) End Function Public Function GetPieChart() As ChartControl diff --git a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj index 7fb4c94d..6b681a0a 100644 --- a/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj +++ b/EnvelopeGenerator.Form/EnvelopeGenerator.Form.vbproj @@ -150,6 +150,12 @@ Form + + frmRueckruf.vb + + + Form + frmSplashScreen.vb @@ -194,6 +200,9 @@ frmMain.vb Designer + + frmRueckruf.vb + frmSplashScreen.vb diff --git a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb index f2e3518b..fc5fe7a3 100644 --- a/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb +++ b/EnvelopeGenerator.Form/My Project/AssemblyInfo.vb @@ -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/frmMain.vb b/EnvelopeGenerator.Form/frmMain.vb index 902b88cc..3dd4c115 100644 --- a/EnvelopeGenerator.Form/frmMain.vb +++ b/EnvelopeGenerator.Form/frmMain.vb @@ -130,14 +130,14 @@ Public Class frmMain End Try End Sub - Private Sub DeleteEnvelope(pRowHandle As Integer) + Private Sub DeleteEnvelope(pRowHandle As Integer, pReason As String) Dim oEnvelope As Envelope = ViewEnvelopes.GetRow(pRowHandle) - If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then - Exit Sub - End If + 'If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then + ' Exit Sub + 'End If - If Controller.DeleteEnvelope(oEnvelope) Then + If Controller.DeleteEnvelope(oEnvelope, pReason) Then LoadEnvelopeData() Else MsgBox(Resources.Envelope.The_envelope_could_not_be_deleted, MsgBoxStyle.Critical, Text) @@ -154,7 +154,16 @@ Public Class frmMain Private Sub btnDeleteEnvelope_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnDeleteEnvelope.ItemClick Dim oSelectedRows = ViewEnvelopes.GetSelectedRows() If oSelectedRows.Count > 0 Then - DeleteEnvelope(oSelectedRows.First) + Dim ofrmAbort As New frmRueckruf + frmRueckruf.ShowDialog() + MsgBox("Abort: " + frmRueckruf.Abort & vbNewLine & "Reason: " + frmRueckruf.Reject_reason) + If frmRueckruf.Abort = False Then + MsgBox(frmRueckruf.Abort & vbNewLine & frmRueckruf.Reject_reason) + DeleteEnvelope(oSelectedRows.First, frmRueckruf.Reject_reason) + Else + + End If + End If End Sub diff --git a/EnvelopeGenerator.Form/frmRueckruf.Designer.vb b/EnvelopeGenerator.Form/frmRueckruf.Designer.vb new file mode 100644 index 00000000..c0cfdea9 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.Designer.vb @@ -0,0 +1,129 @@ + _ +Partial Class frmRueckruf + Inherits System.Windows.Forms.Form + + '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() + Me.Label2 = New System.Windows.Forms.Label() + Me.txtReason = New System.Windows.Forms.TextBox() + Me.btnWeiter = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.btnCancel = New System.Windows.Forms.Button() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.tsstatus = New System.Windows.Forms.ToolStripStatusLabel() + Me.StatusStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(22, 20) + Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(432, 16) + Me.Label2.TabIndex = 0 + Me.Label2.Text = "Bitte geben Sie einen Grund für den Abbruch/Rückruf des Umschlages ein:" + ' + 'txtReason + ' + Me.txtReason.AcceptsReturn = True + Me.txtReason.Location = New System.Drawing.Point(25, 40) + Me.txtReason.Margin = New System.Windows.Forms.Padding(4) + Me.txtReason.Multiline = True + Me.txtReason.Name = "txtReason" + Me.txtReason.Size = New System.Drawing.Size(429, 87) + Me.txtReason.TabIndex = 1 + ' + 'btnWeiter + ' + Me.btnWeiter.Location = New System.Drawing.Point(25, 134) + Me.btnWeiter.Name = "btnWeiter" + Me.btnWeiter.Size = New System.Drawing.Size(203, 44) + Me.btnWeiter.TabIndex = 2 + Me.btnWeiter.Text = "Weiter" + Me.btnWeiter.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(28, 87) + Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(0, 16) + Me.Label1.TabIndex = 3 + ' + 'btnCancel + ' + Me.btnCancel.Location = New System.Drawing.Point(251, 134) + Me.btnCancel.Name = "btnCancel" + Me.btnCancel.Size = New System.Drawing.Size(203, 44) + Me.btnCancel.TabIndex = 4 + Me.btnCancel.Text = "Abbruch" + Me.btnCancel.UseVisualStyleBackColor = True + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsstatus}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 185) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(488, 22) + Me.StatusStrip1.TabIndex = 5 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'tsstatus + ' + Me.tsstatus.Name = "tsstatus" + Me.tsstatus.Size = New System.Drawing.Size(0, 17) + ' + 'frmRueckruf + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(488, 207) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.btnCancel) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.btnWeiter) + Me.Controls.Add(Me.txtReason) + Me.Controls.Add(Me.Label2) + Me.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Margin = New System.Windows.Forms.Padding(4) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmRueckruf" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Abbruch - Bestätigung" + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Label2 As Label + Friend WithEvents txtReason As TextBox + Friend WithEvents btnWeiter As Button + Friend WithEvents Label1 As Label + Friend WithEvents btnCancel As Button + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents tsstatus As ToolStripStatusLabel +End Class diff --git a/EnvelopeGenerator.Form/frmRueckruf.resx b/EnvelopeGenerator.Form/frmRueckruf.resx new file mode 100644 index 00000000..74443647 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/EnvelopeGenerator.Form/frmRueckruf.vb b/EnvelopeGenerator.Form/frmRueckruf.vb new file mode 100644 index 00000000..da93ca87 --- /dev/null +++ b/EnvelopeGenerator.Form/frmRueckruf.vb @@ -0,0 +1,39 @@ +Imports EnvelopeGenerator.Common.My + +Public Class frmRueckruf + + Public Continue_Reject As Boolean = False + Public Reject_reason As String = "" + Public Abort As Boolean = False + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnWeiter.Click + If txtReason.Text <> "" Then + If MsgBox(Resources.Envelope.Do_you_really_want_to_delete_this_envelope, MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) = MsgBoxResult.No Then + Abort = True + Me.Close() + End If + tsstatus.Text = "" + Continue_Reject = True + Reject_reason = txtReason.Text + Else + tsstatus.Text = "Please add a reason for aborting - " & Now + End If + End Sub + + Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click + Abort = True + Me.Close() + End Sub + + Private Sub frmRueckruf_Load(sender As Object, e As EventArgs) Handles Me.Load + txtReason.Text = "" + tsstatus.Text = "" + End Sub +End Class \ No newline at end of file