2023-11-06 Neuer Status "Teil-Signiert", "Vollständig Signiert"
Teil-Validierung
This commit is contained in:
parent
f4549c0481
commit
fc100df537
@ -5,8 +5,8 @@
|
|||||||
Created = 0
|
Created = 0
|
||||||
Saved = 1
|
Saved = 1
|
||||||
Sent = 2
|
Sent = 2
|
||||||
PartSigned = 3
|
PartlySigned = 3
|
||||||
CompleteSigned = 4
|
CompletelySigned = 4
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum ElementStatus
|
Public Enum ElementStatus
|
||||||
|
|||||||
@ -55,6 +55,21 @@
|
|||||||
Return oErrors
|
Return oErrors
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function ValidateReceiverDocumentData() As List(Of String)
|
||||||
|
Dim oErrors As New List(Of String)
|
||||||
|
|
||||||
|
If Documents.Count = 0 Then
|
||||||
|
oErrors.Add(My.Resources.Envelope.Missing_Documents)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Receivers.Count = 0 Then
|
||||||
|
oErrors.Add(My.Resources.Envelope.Missing_Receivers)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oErrors
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean
|
Private Function IsValidEmailAddress(pEmailAddress As String) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim oAddress = New System.Net.Mail.MailAddress(pEmailAddress)
|
Dim oAddress = New System.Net.Mail.MailAddress(pEmailAddress)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
Imports EnvelopeGenerator.Common.Constants
|
Imports EnvelopeGenerator.Common.Constants
|
||||||
|
|
||||||
Public Class EnvelopeReceiver
|
Public Class EnvelopeReceiver
|
||||||
Public Property Id As Integer
|
Public Property Id As Integer = 0
|
||||||
Public Property UserId As Integer
|
Public Property UserId As Integer
|
||||||
Public Property Signature As String
|
Public Property Signature As String
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,7 @@ Public Class EnvelopeModel
|
|||||||
|
|
||||||
Public Function List() As IEnumerable(Of Envelope)
|
Public Function List() As IEnumerable(Of Envelope)
|
||||||
Try
|
Try
|
||||||
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = {State.UserId}"
|
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = {State.UserId} AND STATUS IN (0,1,2,3)"
|
||||||
Dim oTable = Database.GetDatatable(oSql)
|
Dim oTable = Database.GetDatatable(oSql)
|
||||||
|
|
||||||
Return oTable?.Rows.Cast(Of DataRow).
|
Return oTable?.Rows.Cast(Of DataRow).
|
||||||
@ -73,7 +73,7 @@ Public Class EnvelopeModel
|
|||||||
|
|
||||||
Public Function ListCompleted() As IEnumerable(Of Envelope)
|
Public Function ListCompleted() As IEnumerable(Of Envelope)
|
||||||
Try
|
Try
|
||||||
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = {State.UserId} AND STATUS = "
|
Dim oSql = $"SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = {State.UserId} AND STATUS = 4"
|
||||||
Dim oTable = Database.GetDatatable(oSql)
|
Dim oTable = Database.GetDatatable(oSql)
|
||||||
|
|
||||||
Return oTable?.Rows.Cast(Of DataRow).
|
Return oTable?.Rows.Cast(Of DataRow).
|
||||||
|
|||||||
@ -154,7 +154,7 @@
|
|||||||
<value>Empfänger {0} hat keine gültige Email Addresse.</value>
|
<value>Empfänger {0} hat keine gültige Email Addresse.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Missing Documents" xml:space="preserve">
|
<data name="Missing Documents" xml:space="preserve">
|
||||||
<value>Missing Documents</value>
|
<value>Fehlendes Dokument</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Missing Elements" xml:space="preserve">
|
<data name="Missing Elements" xml:space="preserve">
|
||||||
<value>Es muss mindestens ein Signaturfeld gesetzt werden</value>
|
<value>Es muss mindestens ein Signaturfeld gesetzt werden</value>
|
||||||
@ -163,13 +163,13 @@
|
|||||||
<value>Für den Empfänger {0} gibt es noch kein Signaturfeld</value>
|
<value>Für den Empfänger {0} gibt es noch kein Signaturfeld</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Missing Message" xml:space="preserve">
|
<data name="Missing Message" xml:space="preserve">
|
||||||
<value>Missing Message</value>
|
<value>Fehlende Nachricht</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Missing Receivers" xml:space="preserve">
|
<data name="Missing Receivers" xml:space="preserve">
|
||||||
<value>Missing Receivers</value>
|
<value>Fehlende Empfänger</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Missing Subject" xml:space="preserve">
|
<data name="Missing Subject" xml:space="preserve">
|
||||||
<value>Missing Subject</value>
|
<value>Fehlender Betreff</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Only one file is allowed" xml:space="preserve">
|
<data name="Only one file is allowed" xml:space="preserve">
|
||||||
<value>Es ist nur eine Datei zulässig!</value>
|
<value>Es ist nur eine Datei zulässig!</value>
|
||||||
|
|||||||
@ -173,7 +173,7 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Missing Documents ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Fehlendes Dokument ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
Public Shared ReadOnly Property Missing_Documents() As String
|
Public Shared ReadOnly Property Missing_Documents() As String
|
||||||
Get
|
Get
|
||||||
@ -200,7 +200,7 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Missing Message ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Fehlende Nachricht ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
Public Shared ReadOnly Property Missing_Message() As String
|
Public Shared ReadOnly Property Missing_Message() As String
|
||||||
Get
|
Get
|
||||||
@ -209,7 +209,7 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Missing Receivers ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Fehlende Empfänger ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
Public Shared ReadOnly Property Missing_Receivers() As String
|
Public Shared ReadOnly Property Missing_Receivers() As String
|
||||||
Get
|
Get
|
||||||
@ -218,7 +218,7 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Missing Subject ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Fehlender Betreff ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
Public Shared ReadOnly Property Missing_Subject() As String
|
Public Shared ReadOnly Property Missing_Subject() As String
|
||||||
Get
|
Get
|
||||||
|
|||||||
18
EnvelopeGenerator.Common/Strings/Model.Designer.vb
generated
18
EnvelopeGenerator.Common/Strings/Model.Designer.vb
generated
@ -73,6 +73,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Sucht eine lokalisierte Zeichenfolge, die Vollständig Signiert ähnelt.
|
||||||
|
'''</summary>
|
||||||
|
Friend Shared ReadOnly Property CompletelySigned() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("CompletelySigned", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die Vertrag ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die Vertrag ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@ -100,6 +109,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Sucht eine lokalisierte Zeichenfolge, die Teil-Signiert ähnelt.
|
||||||
|
'''</summary>
|
||||||
|
Friend Shared ReadOnly Property PartlySigned() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("PartlySigned", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Sucht eine lokalisierte Zeichenfolge, die ReadAndSign ähnelt.
|
''' Sucht eine lokalisierte Zeichenfolge, die ReadAndSign ähnelt.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
|
|||||||
@ -120,6 +120,9 @@
|
|||||||
<data name="Completed" xml:space="preserve">
|
<data name="Completed" xml:space="preserve">
|
||||||
<value>Abgeschlossen</value>
|
<value>Abgeschlossen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="CompletelySigned" xml:space="preserve">
|
||||||
|
<value>Vollständig Signiert</value>
|
||||||
|
</data>
|
||||||
<data name="Contract" xml:space="preserve">
|
<data name="Contract" xml:space="preserve">
|
||||||
<value>Vertrag</value>
|
<value>Vertrag</value>
|
||||||
</data>
|
</data>
|
||||||
@ -129,6 +132,9 @@
|
|||||||
<data name="Draft" xml:space="preserve">
|
<data name="Draft" xml:space="preserve">
|
||||||
<value>Entwurf</value>
|
<value>Entwurf</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PartlySigned" xml:space="preserve">
|
||||||
|
<value>Teil-Signiert</value>
|
||||||
|
</data>
|
||||||
<data name="ReadAndSign" xml:space="preserve">
|
<data name="ReadAndSign" xml:space="preserve">
|
||||||
<value>ReadAndSign</value>
|
<value>ReadAndSign</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@ -265,21 +265,20 @@ Public Class EnvelopeEditorController
|
|||||||
Dim oExistingReceivers As List(Of EnvelopeReceiver) = ReceiverModel.ListReceivers(pCurrentReceivers)
|
Dim oExistingReceivers As List(Of EnvelopeReceiver) = ReceiverModel.ListReceivers(pCurrentReceivers)
|
||||||
Dim oExistingAddresses = oExistingReceivers.Select(Function(r) r.Email)
|
Dim oExistingAddresses = oExistingReceivers.Select(Function(r) r.Email)
|
||||||
|
|
||||||
|
' Neue Empfänger
|
||||||
Dim oNewReceivers = pCurrentReceivers.
|
Dim oNewReceivers = pCurrentReceivers.
|
||||||
Where(Function(r) Not oExistingAddresses.Contains(r.Email)).ToList()
|
Where(Function(r) Not oExistingAddresses.Contains(r.Email)).ToList()
|
||||||
|
|
||||||
For Each oReceiver In oNewReceivers
|
' Empfänger, die bereits einmal verwendet wurden
|
||||||
oReceiver.Id = 0
|
|
||||||
Next
|
|
||||||
|
|
||||||
For Each oCurrentReceiver In pCurrentReceivers
|
For Each oCurrentReceiver In pCurrentReceivers
|
||||||
If oCurrentReceiver.Id = 0 Then
|
If oCurrentReceiver.Id = 0 Then
|
||||||
Dim oExistingReceiver As EnvelopeReceiver = oExistingReceivers.Where(Function(r) r.Email = oCurrentReceiver.Email).First()
|
Dim oExistingReceiver As EnvelopeReceiver = oExistingReceivers.Where(Function(r) r.Email.Equals(oCurrentReceiver.Email, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault()
|
||||||
oCurrentReceiver.Id = oExistingReceiver.Id
|
If oExistingReceiver IsNot Nothing Then
|
||||||
|
oCurrentReceiver.Id = oExistingReceiver.Id
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|
||||||
Dim oConnection = Database.GetConnection()
|
Dim oConnection = Database.GetConnection()
|
||||||
Dim oTransaction = oConnection.BeginTransaction()
|
Dim oTransaction = oConnection.BeginTransaction()
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
Imports System.ComponentModel
|
Imports System.ComponentModel
|
||||||
Imports System.Runtime.Remoting.Messaging
|
|
||||||
Imports DevExpress.XtraEditors
|
Imports DevExpress.XtraEditors
|
||||||
Imports DevExpress.XtraGrid
|
Imports DevExpress.XtraGrid
|
||||||
Imports DevExpress.XtraGrid.Views.Grid
|
Imports DevExpress.XtraGrid.Views.Grid
|
||||||
@ -117,12 +116,15 @@ Partial Public Class frmEnvelopeEditor
|
|||||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||||
|
|
||||||
Try
|
Try
|
||||||
|
If SaveEnvelopeWithReceiverDocumentValidation() = False Then
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
|
||||||
If ViewDocuments.GetSelectedRows().Count > 0 Then
|
If ViewDocuments.GetSelectedRows().Count > 0 Then
|
||||||
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 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).
|
||||||
SingleOrDefault(),
|
SingleOrDefault(),
|
||||||
@ -130,8 +132,8 @@ Partial Public Class frmEnvelopeEditor
|
|||||||
.Receivers = Receivers.ToList,
|
.Receivers = Receivers.ToList,
|
||||||
.State = State
|
.State = State
|
||||||
}
|
}
|
||||||
oForm.ShowDialog()
|
oForm.ShowDialog()
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
@ -148,6 +150,26 @@ Partial Public Class frmEnvelopeEditor
|
|||||||
Return SaveEnvelope(False)
|
Return SaveEnvelope(False)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Speichert den Envelope und prüft
|
||||||
|
''' ob Receiver und Dokument vorhanden ist.
|
||||||
|
''' </summary>
|
||||||
|
Private Function SaveEnvelopeWithReceiverDocumentValidation() As Boolean
|
||||||
|
|
||||||
|
If SaveEnvelope(False) = True Then
|
||||||
|
Dim oEnvelope = Controller.Envelope
|
||||||
|
Dim oErrors = oEnvelope.ValidateReceiverDocumentData()
|
||||||
|
If oErrors.Any Then
|
||||||
|
ShowValidationErrors(Resources.Envelope.Errors_when_saving_the_envelope, oErrors)
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Function SaveEnvelope(pWithValidation As Boolean) As Boolean
|
Private Function SaveEnvelope(pWithValidation As Boolean) As Boolean
|
||||||
Dim oSubject = GetEditValueFromTextControl(txtSubject)
|
Dim oSubject = GetEditValueFromTextControl(txtSubject)
|
||||||
Dim oMessage = GetEditValueFromTextControl(txtMessage)
|
Dim oMessage = GetEditValueFromTextControl(txtMessage)
|
||||||
|
|||||||
@ -68,12 +68,7 @@ Public Class frmMain
|
|||||||
Controller = New EnvelopeListController(State)
|
Controller = New EnvelopeListController(State)
|
||||||
|
|
||||||
LoadEnvelopes()
|
LoadEnvelopes()
|
||||||
|
LoadCompletedEnvelopes()
|
||||||
|
|
||||||
GridBuilder = New GridBuilder(ViewEnvelopes)
|
|
||||||
GridBuilder.SetDefaults(ViewEnvelopes)
|
|
||||||
GridBuilder.SetReadOnlyOptions(ViewEnvelopes)
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Logger.Error(ex)
|
Logger.Error(ex)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user