Refactor envelope type handling and validation logic
- Change ContractType property to use Constants.ContractType enum for improved type safety. - Move EnvelopeType selection to a shared module-level variable for consistent access. - Allow user selection of contract type when creating envelopes. - Refine envelope validation to check for required elements per receiver, with improved error messages.
This commit is contained in:
@@ -50,17 +50,21 @@ Public Class EnvelopeEditorController
|
||||
Public Function ValidateEnvelopeForSending(pErrors As List(Of String)) As List(Of String)
|
||||
Dim oEnvelopeErrors = pErrors
|
||||
|
||||
If ElementModel.ElementsExist(Envelope.Id) = False Then
|
||||
oEnvelopeErrors.Add(Resources.Envelope.Missing_Elements)
|
||||
End If
|
||||
If Envelope.EnvelopeTypeId <> Domain.Constants.ContractType.ReadAndSign Then
|
||||
|
||||
If ElementModel.OneElementPerReceiverExist(Envelope.Id) = False Then
|
||||
If ElementModel.ElementsExist(Envelope.Id) = False Then
|
||||
oEnvelopeErrors.Add(Resources.Envelope.Missing_Elements)
|
||||
End If
|
||||
|
||||
For Each receiverItem As Receiver In Envelope.Receivers
|
||||
If ElementModel.ElementsExist(Envelope.Id, receiverItem.Id) = False Then
|
||||
oEnvelopeErrors.Add(String.Format(Resources.Envelope.Missing_Elements_for_Receiver, receiverItem.Name))
|
||||
End If
|
||||
Next
|
||||
If ElementModel.OneElementPerReceiverExist(Envelope.Id) = False Then
|
||||
|
||||
For Each receiverItem As Receiver In Envelope.Receivers
|
||||
If ElementModel.ElementsExist(Envelope.Id, receiverItem.Id) = False Then
|
||||
oEnvelopeErrors.Add(String.Format(Resources.Envelope.Missing_Elements_for_Receiver, receiverItem.Name))
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Reference in New Issue
Block a user