2023-10-11

This commit is contained in:
PitzM 2023-10-11 11:51:59 +02:00
parent 603ee5a1fc
commit 8613b11f70
7 changed files with 64 additions and 17 deletions

View File

@ -109,10 +109,10 @@ Public Class EnvelopeModel
oCommand.Parameters.Add("SUBJECT", SqlDbType.NVarChar).Value = String.Empty oCommand.Parameters.Add("SUBJECT", SqlDbType.NVarChar).Value = String.Empty
oCommand.Parameters.Add("MESSAGE", 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("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("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId
oCommand.Parameters.Add("TITLE", SqlDbType.NVarChar).Value = pEnvelope.Title 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 If Database.ExecuteNonQuery(oCommand) Then
pEnvelope.Id = GetEnvelopeId(pEnvelope) pEnvelope.Id = GetEnvelopeId(pEnvelope)
@ -135,6 +135,7 @@ Public Class EnvelopeModel
oSql += " [MESSAGE] = @MESSAGE, " oSql += " [MESSAGE] = @MESSAGE, "
oSql += " [STATUS] = @STATUS, " oSql += " [STATUS] = @STATUS, "
oSql += " [TITLE] = @TITLE, " oSql += " [TITLE] = @TITLE, "
oSql += " [CONTRACT_TYPE] = @CONTRACT_TYPE, "
oSql += " [CHANGED_WHEN] = GETDATE() " oSql += " [CHANGED_WHEN] = GETDATE() "
oSql += " WHERE GUID = @ID AND USER_ID = @USER_ID" oSql += " WHERE GUID = @ID AND USER_ID = @USER_ID"
Dim oCommand As New SqlCommand(oSql) 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("MESSAGE", SqlDbType.NVarChar).Value = pEnvelope.Message
oCommand.Parameters.Add("STATUS", SqlDbType.NVarChar).Value = pEnvelope.Status oCommand.Parameters.Add("STATUS", SqlDbType.NVarChar).Value = pEnvelope.Status
oCommand.Parameters.Add("TITLE", SqlDbType.NVarChar).Value = pEnvelope.Title 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("ID", SqlDbType.Int).Value = pEnvelope.Id
oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId oCommand.Parameters.Add("USER_ID", SqlDbType.Int).Value = pEnvelope.UserId

View File

@ -25,7 +25,7 @@ Public Class HistoryModel
Dim oCommand As New SqlCommand(oSql) Dim oCommand As New SqlCommand(oSql)
oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pHistory.EnvelopeId oCommand.Parameters.Add("ENVELOPE_ID", SqlDbType.Int).Value = pHistory.EnvelopeId
oCommand.Parameters.Add("USER_REFERENCE", SqlDbType.NVarChar).Value = pHistory.UserReference 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_DESCRIPTION", SqlDbType.NVarChar).Value = pHistory.ActionDescription
oCommand.Parameters.Add("ACTION_DATE", SqlDbType.DateTime).Value = Now() oCommand.Parameters.Add("ACTION_DATE", SqlDbType.DateTime).Value = Now()

View File

@ -132,6 +132,9 @@
<data name="Elements could not be saved" xml:space="preserve"> <data name="Elements could not be saved" xml:space="preserve">
<value>Elements could not be saved!</value> <value>Elements could not be saved!</value>
</data> </data>
<data name="Envelope already sent" xml:space="preserve">
<value>The envelope has already been sent!</value>
</data>
<data name="Envelope could not be sent" xml:space="preserve"> <data name="Envelope could not be sent" xml:space="preserve">
<value>Envelope could not be sent!</value> <value>Envelope could not be sent!</value>
</data> </data>

View File

@ -132,6 +132,9 @@
<data name="Elements could not be saved" xml:space="preserve"> <data name="Elements could not be saved" xml:space="preserve">
<value>Elemente konnten nicht gespeichert werden!</value> <value>Elemente konnten nicht gespeichert werden!</value>
</data> </data>
<data name="Envelope already sent" xml:space="preserve">
<value>Der Umschlag wurde bereits versendet!</value>
</data>
<data name="Envelope could not be sent" xml:space="preserve"> <data name="Envelope could not be sent" xml:space="preserve">
<value>Umschlag konnte nicht gesendet werden!</value> <value>Umschlag konnte nicht gesendet werden!</value>
</data> </data>

View File

@ -109,6 +109,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Der Umschlag wurde bereits versendet! ähnelt.
'''</summary>
Public Shared ReadOnly Property Envelope_already_sent() As String
Get
Return ResourceManager.GetString("Envelope already sent", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Umschlag konnte nicht gesendet werden! ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Umschlag konnte nicht gesendet werden! ähnelt.
'''</summary> '''</summary>

View File

@ -95,9 +95,9 @@ Public Class EnvelopeEditorController
Dim newHistoryEntry As New EnvelopeHistoryEntry With { Dim newHistoryEntry As New EnvelopeHistoryEntry With {
.EnvelopeId = oEnvelope.Id, .EnvelopeId = oEnvelope.Id,
.ActionType = ActionType.Created, .ActionType = EnvelopeHistoryActionType.Created,
.ActionDescription = "Envelope wurde neu erstellt", .ActionDescription = "Envelope wurde neu erstellt",
.UserEmailAddress = oEnvelope.User.Email .UserReference = oEnvelope.User.Email
} }
HistoryModel.Insert(newHistoryEntry) HistoryModel.Insert(newHistoryEntry)
@ -272,6 +272,14 @@ Public Class EnvelopeEditorController
oReceiver.Id = 0 oReceiver.Id = 0
Next 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 oConnection = Database.GetConnection()
Dim oTransaction = oConnection.BeginTransaction() Dim oTransaction = oConnection.BeginTransaction()

View File

@ -1,4 +1,5 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraSplashScreen 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 Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
Try Try
If SaveEnvelope() Then SaveEnvelopeWithOutValidation()
End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
End Try End Try
@ -114,7 +113,7 @@ Partial Public Class frmEnvelopeEditor
Dim oDocument As EnvelopeDocument = DirectCast(ViewDocuments.GetFocusedRow(), EnvelopeDocument) Dim oDocument As EnvelopeDocument = DirectCast(ViewDocuments.GetFocusedRow(), EnvelopeDocument)
Dim oGDPictureKey As String = "21182889975216572111813147150675976632" Dim oGDPictureKey As String = "21182889975216572111813147150675976632"
If SaveEnvelope() Then If SaveEnvelopeWithOutValidation() Then
Dim oForm As New frmFieldEditor() With { Dim oForm As New frmFieldEditor() With {
.Document = Controller.Envelope.Documents. .Document = Controller.Envelope.Documents.
Where(Function(d) d.Filename = oDocument.Filename). Where(Function(d) d.Filename = oDocument.Filename).
@ -133,9 +132,17 @@ Partial Public Class frmEnvelopeEditor
End Try End Try
End Sub End Sub
Private Function SaveEnvelope() As Boolean Private Function SaveEnvelopeWithValidation() As Boolean
Dim oSubject = txtSubject.EditValue?.ToString Return SaveEnvelope(True)
Dim oMessage = txtMessage.EditValue?.ToString 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 ' Ensure all receivers are saved
ViewReceivers.CloseEditor() ViewReceivers.CloseEditor()
@ -146,10 +153,12 @@ Partial Public Class frmEnvelopeEditor
oEnvelope.Receivers = Receivers.ToList oEnvelope.Receivers = Receivers.ToList
oEnvelope.Documents = Documents.ToList oEnvelope.Documents = Documents.ToList
Dim oErrors = oEnvelope.Validate() If pWithValidation = True Then
If oErrors.Any Then Dim oErrors = oEnvelope.Validate()
ShowValidationErrors(Resources.Envelope.Errors_when_saving_the_envelope, oErrors) If oErrors.Any Then
Return False ShowValidationErrors(Resources.Envelope.Errors_when_saving_the_envelope, oErrors)
Return False
End If
End If End If
If Controller.CreateEnvelopeReceivers(oEnvelope.Receivers) = False Then If Controller.CreateEnvelopeReceivers(oEnvelope.Receivers) = False Then
@ -165,6 +174,14 @@ Partial Public Class frmEnvelopeEditor
End If End If
End Function 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)) Private Sub ShowValidationErrors(pErrorTitle As String, pErrors As List(Of String))
Dim oError = pErrorTitle & vbNewLine & vbNewLine & String.Join(vbNewLine, pErrors) Dim oError = pErrorTitle & vbNewLine & vbNewLine & String.Join(vbNewLine, pErrors)
MsgBox(oError, MsgBoxStyle.Exclamation, Text) MsgBox(oError, MsgBoxStyle.Exclamation, Text)
@ -199,7 +216,12 @@ Partial Public Class frmEnvelopeEditor
End Sub End Sub
Private Sub btnSendEnvelope_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSendEnvelope.ItemClick 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 Exit Sub
End If End If