From 603ee5a1fc761453190f9fd4bf8b2b0e3ce30637 Mon Sep 17 00:00:00 2001 From: MPitz Date: Wed, 11 Oct 2023 09:38:06 +0200 Subject: [PATCH 1/2] Merge --- EnvelopeGenerator.Common/Models/HistoryModel.vb | 4 ++-- .../Controllers/EnvelopeEditorController.vb | 15 +++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/EnvelopeGenerator.Common/Models/HistoryModel.vb b/EnvelopeGenerator.Common/Models/HistoryModel.vb index f2196183..1795e369 100644 --- a/EnvelopeGenerator.Common/Models/HistoryModel.vb +++ b/EnvelopeGenerator.Common/Models/HistoryModel.vb @@ -19,7 +19,7 @@ Public Class HistoryModel oSql += " (@ENVELOPE_ID " oSql += " ,@USER_REFERENCE " oSql += " ,@ACTION_TYPE " - oSql += " ,@ACTION_DESCRIPTION) " + oSql += " ,@ACTION_DESCRIPTION " oSql += " ,@ACTION_DATE) " Dim oCommand As New SqlCommand(oSql) @@ -27,7 +27,7 @@ Public Class HistoryModel oCommand.Parameters.Add("USER_REFERENCE", SqlDbType.NVarChar).Value = pHistory.UserReference oCommand.Parameters.Add("ACTION_TYPE", SqlDbType.NVarChar).Value = pHistory oCommand.Parameters.Add("ACTION_DESCRIPTION", SqlDbType.NVarChar).Value = pHistory.ActionDescription - oCommand.Parameters.Add("ACTION_DATE", SqlDbType.DateTime).Value = pHistory + oCommand.Parameters.Add("ACTION_DATE", SqlDbType.DateTime).Value = Now() If Database.ExecuteNonQuery(oCommand) Then Return True diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb index 03f9263d..7b4a64a6 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb @@ -31,11 +31,9 @@ Public Class EnvelopeEditorController #Region "Public" Public Function SendEnvelope() As Boolean - Dim oResult As Boolean = True - For Each receiverItem As EnvelopeReceiver In Envelope.Receivers - Dim oEmailData As EmailData = New EmailData With + Dim oEmailData As New EmailData With { .EmailAdress = receiverItem.Email, .EmailSubject = Envelope.Subject, @@ -48,12 +46,12 @@ Public Class EnvelopeEditorController .SignatureLink = Helpers.GetEnvelopeURL(State.DbConfig.SignatureHost, Envelope.Uuid, receiverItem.Signature) } - Dim oTemplate As EmailTemplate = New EmailTemplate(State) + Dim oTemplate As New EmailTemplate(State) oTemplate.FillEmailBody(oEmailData) If EmailModel.Insert(oEmailData) = False Then Logger.Error("EMail data could not be inserted.") - oResult = False + Dim oResult As Boolean = False End If Next @@ -97,12 +95,13 @@ Public Class EnvelopeEditorController Dim newHistoryEntry As New EnvelopeHistoryEntry With { .EnvelopeId = oEnvelope.Id, - .Status = HistoryStatus.Created, - .ActionTitle = "Envelope erstellt", + .ActionType = ActionType.Created, .ActionDescription = "Envelope wurde neu erstellt", .UserEmailAddress = oEnvelope.User.Email } + HistoryModel.Insert(newHistoryEntry) + Return oEnvelope Else Return Nothing @@ -159,7 +158,7 @@ Public Class EnvelopeEditorController Public Function CreateDocument(pDocumentFilePath As String) As EnvelopeDocument Try Dim oFileInfo = New FileInfo(pDocumentFilePath) - Dim oTempFiles As TempFiles = New TempFiles(State.LogConfig) + Dim oTempFiles As New TempFiles(State.LogConfig) Dim oTempFilePath = Path.Combine(oTempFiles.TempPath, Guid.NewGuid().ToString + oFileInfo.Extension) File.Copy(oFileInfo.FullName, oTempFilePath, True) From 8613b11f70759107c99ab95f3195e21dd0fb441f Mon Sep 17 00:00:00 2001 From: MPitz Date: Wed, 11 Oct 2023 11:51:59 +0200 Subject: [PATCH 2/2] 2023-10-11 --- .../Models/EnvelopeModel.vb | 6 ++- .../Models/HistoryModel.vb | 2 +- .../Strings/Envelope.en.resx | 3 ++ .../Strings/Envelope.resx | 3 ++ .../Strings/Envelope1.Designer.vb | 9 ++++ .../Controllers/EnvelopeEditorController.vb | 12 ++++- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 46 ++++++++++++++----- 7 files changed, 64 insertions(+), 17 deletions(-) diff --git a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb index d5cc9cdd..446de19f 100644 --- a/EnvelopeGenerator.Common/Models/EnvelopeModel.vb +++ b/EnvelopeGenerator.Common/Models/EnvelopeModel.vb @@ -109,10 +109,10 @@ Public Class EnvelopeModel oCommand.Parameters.Add("SUBJECT", SqlDbType.NVarChar).Value = String.Empty oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = String.Empty oCommand.Parameters.Add("UUID", SqlDbType.NVarChar).Value = pEnvelope.Uuid - oCommand.Parameters.Add("STATUS", SqlDbType.NVarChar).Value = Constants.EnvelopeStatus.Created + oCommand.Parameters.Add("STATUS", SqlDbType.NVarChar).Value = Constants.EnvelopeStatus.Created.ToString() oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId oCommand.Parameters.Add("TITLE", SqlDbType.NVarChar).Value = pEnvelope.Title - oCommand.Parameters.Add("CONTRACT_TYPE", SqlDbType.NVarChar).Value = Constants.ContractType.Contract ' TODO - Contract Type + oCommand.Parameters.Add("CONTRACT_TYPE", SqlDbType.NVarChar).Value = pEnvelope.ContractType.ToString() If Database.ExecuteNonQuery(oCommand) Then pEnvelope.Id = GetEnvelopeId(pEnvelope) @@ -135,6 +135,7 @@ Public Class EnvelopeModel oSql += " [MESSAGE] = @MESSAGE, " oSql += " [STATUS] = @STATUS, " oSql += " [TITLE] = @TITLE, " + oSql += " [CONTRACT_TYPE] = @CONTRACT_TYPE, " oSql += " [CHANGED_WHEN] = GETDATE() " oSql += " WHERE GUID = @ID AND USER_ID = @USER_ID" Dim oCommand As New SqlCommand(oSql) @@ -142,6 +143,7 @@ Public Class EnvelopeModel oCommand.Parameters.Add("MESSAGE", SqlDbType.NVarChar).Value = pEnvelope.Message oCommand.Parameters.Add("STATUS", SqlDbType.NVarChar).Value = pEnvelope.Status oCommand.Parameters.Add("TITLE", SqlDbType.NVarChar).Value = pEnvelope.Title + oCommand.Parameters.Add("CONTRACT_TYPE", SqlDbType.NVarChar).Value = pEnvelope.ContractType.ToString() oCommand.Parameters.Add("ID", SqlDbType.Int).Value = pEnvelope.Id oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId diff --git a/EnvelopeGenerator.Common/Models/HistoryModel.vb b/EnvelopeGenerator.Common/Models/HistoryModel.vb index 1795e369..be9b6636 100644 --- a/EnvelopeGenerator.Common/Models/HistoryModel.vb +++ b/EnvelopeGenerator.Common/Models/HistoryModel.vb @@ -25,7 +25,7 @@ Public Class HistoryModel Dim oCommand As New SqlCommand(oSql) oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pHistory.EnvelopeId oCommand.Parameters.Add("USER_REFERENCE", SqlDbType.NVarChar).Value = pHistory.UserReference - oCommand.Parameters.Add("ACTION_TYPE", SqlDbType.NVarChar).Value = pHistory + oCommand.Parameters.Add("ACTION_TYPE", SqlDbType.NVarChar).Value = pHistory.ActionType.ToString() oCommand.Parameters.Add("ACTION_DESCRIPTION", SqlDbType.NVarChar).Value = pHistory.ActionDescription oCommand.Parameters.Add("ACTION_DATE", SqlDbType.DateTime).Value = Now() diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx index 2baf6e4d..4ed24733 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx @@ -132,6 +132,9 @@ Elements could not be saved! + + The envelope has already been sent! + Envelope could not be sent! diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx index 032ddbad..1dfa874c 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.resx @@ -132,6 +132,9 @@ Elemente konnten nicht gespeichert werden! + + Der Umschlag wurde bereits versendet! + Umschlag konnte nicht gesendet werden! diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb index 07008ae5..20551c23 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb +++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb @@ -109,6 +109,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Umschlag wurde bereits versendet! ähnelt. + ''' + Public Shared ReadOnly Property Envelope_already_sent() As String + Get + Return ResourceManager.GetString("Envelope already sent", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Umschlag konnte nicht gesendet werden! ähnelt. ''' diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb index 7b4a64a6..d078cdef 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb @@ -95,9 +95,9 @@ Public Class EnvelopeEditorController Dim newHistoryEntry As New EnvelopeHistoryEntry With { .EnvelopeId = oEnvelope.Id, - .ActionType = ActionType.Created, + .ActionType = EnvelopeHistoryActionType.Created, .ActionDescription = "Envelope wurde neu erstellt", - .UserEmailAddress = oEnvelope.User.Email + .UserReference = oEnvelope.User.Email } HistoryModel.Insert(newHistoryEntry) @@ -272,6 +272,14 @@ Public Class EnvelopeEditorController oReceiver.Id = 0 Next + For Each oCurrentReceiver In pCurrentReceivers + If oCurrentReceiver.Id = 0 Then + Dim oExistingReceiver As EnvelopeReceiver = oExistingReceivers.Where(Function(r) r.Email = oCurrentReceiver.Email).First() + oCurrentReceiver.Id = oExistingReceiver.Id + End If + Next + + Dim oConnection = Database.GetConnection() Dim oTransaction = oConnection.BeginTransaction() diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb index 0affb8b7..22384206 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -1,4 +1,5 @@ Imports System.ComponentModel +Imports DevExpress.XtraEditors Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraSplashScreen @@ -98,9 +99,7 @@ Partial Public Class frmEnvelopeEditor Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick Try - If SaveEnvelope() Then - - End If + SaveEnvelopeWithOutValidation() Catch ex As Exception Logger.Error(ex) End Try @@ -114,7 +113,7 @@ Partial Public Class frmEnvelopeEditor Dim oDocument As EnvelopeDocument = DirectCast(ViewDocuments.GetFocusedRow(), EnvelopeDocument) Dim oGDPictureKey As String = "21182889975216572111813147150675976632" - If SaveEnvelope() Then + If SaveEnvelopeWithOutValidation() Then Dim oForm As New frmFieldEditor() With { .Document = Controller.Envelope.Documents. Where(Function(d) d.Filename = oDocument.Filename). @@ -133,9 +132,17 @@ Partial Public Class frmEnvelopeEditor End Try End Sub - Private Function SaveEnvelope() As Boolean - Dim oSubject = txtSubject.EditValue?.ToString - Dim oMessage = txtMessage.EditValue?.ToString + Private Function SaveEnvelopeWithValidation() As Boolean + Return SaveEnvelope(True) + End Function + + Private Function SaveEnvelopeWithOutValidation() As Boolean + Return SaveEnvelope(False) + End Function + + Private Function SaveEnvelope(pWithValidation As Boolean) As Boolean + Dim oSubject = GetEditValueFromTextControl(txtSubject) + Dim oMessage = GetEditValueFromTextControl(txtMessage) ' Ensure all receivers are saved ViewReceivers.CloseEditor() @@ -146,10 +153,12 @@ Partial Public Class frmEnvelopeEditor oEnvelope.Receivers = Receivers.ToList oEnvelope.Documents = Documents.ToList - Dim oErrors = oEnvelope.Validate() - If oErrors.Any Then - ShowValidationErrors(Resources.Envelope.Errors_when_saving_the_envelope, oErrors) - Return False + If pWithValidation = True Then + Dim oErrors = oEnvelope.Validate() + If oErrors.Any Then + ShowValidationErrors(Resources.Envelope.Errors_when_saving_the_envelope, oErrors) + Return False + End If End If If Controller.CreateEnvelopeReceivers(oEnvelope.Receivers) = False Then @@ -165,6 +174,14 @@ Partial Public Class frmEnvelopeEditor End If End Function + Private Function GetEditValueFromTextControl(pControl As TextEdit) As String + If pControl.EditValue Is Nothing Then + Return String.Empty + Else + Return pControl.EditValue.ToString + End If + End Function + Private Sub ShowValidationErrors(pErrorTitle As String, pErrors As List(Of String)) Dim oError = pErrorTitle & vbNewLine & vbNewLine & String.Join(vbNewLine, pErrors) MsgBox(oError, MsgBoxStyle.Exclamation, Text) @@ -199,7 +216,12 @@ Partial Public Class frmEnvelopeEditor End Sub Private Sub btnSendEnvelope_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSendEnvelope.ItemClick - If SaveEnvelope() = False Then + If Controller.Envelope.Status = Constants.EnvelopeStatus.Sent Then + MsgBox(Resources.Envelope.Envelope_already_sent, MsgBoxStyle.Information, Text) + Exit Sub + End If + + If SaveEnvelopeWithValidation() = False Then Exit Sub End If