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:
OlgunR
2026-02-19 13:37:58 +01:00
parent 341713d4cb
commit ae33254743
4 changed files with 20 additions and 15 deletions

View File

@@ -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