From f5cb74d9c79b8f02975417cdb204bd4985efe073 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 6 Dec 2023 14:38:17 +0100 Subject: [PATCH] 06-12-23 --- EnvelopeGenerator.Common/Entities/Envelope.vb | 4 ++++ EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb | 7 +++++++ EnvelopeGenerator.Common/Strings/Envelope.en.resx | 3 +++ EnvelopeGenerator.Common/Strings/Envelope.resx | 3 +++ EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb | 9 +++++++++ .../Controllers/EnvelopeEditorController.vb | 8 +++++++- EnvelopeGenerator.Form/frmEnvelopeEditor.vb | 2 ++ 7 files changed, 35 insertions(+), 1 deletion(-) diff --git a/EnvelopeGenerator.Common/Entities/Envelope.vb b/EnvelopeGenerator.Common/Entities/Envelope.vb index 4dea5b6b..f33218e3 100644 --- a/EnvelopeGenerator.Common/Entities/Envelope.vb +++ b/EnvelopeGenerator.Common/Entities/Envelope.vb @@ -46,6 +46,10 @@ oErrors.Add(My.Resources.Envelope.Missing_Receivers) End If + If Receivers.Any(Function(r) r.HasEmailAndName = False) Then + oErrors.Add(My.Resources.Envelope.Incomplete_Receivers) + End If + Return oErrors End Function diff --git a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb index 2cb414df..8481994a 100644 --- a/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb +++ b/EnvelopeGenerator.Common/Entities/EnvelopeReceiver.vb @@ -65,6 +65,13 @@ Public Class EnvelopeReceiver End Get End Property + Public ReadOnly Property HasEmailAndName As Boolean + Get + Return String.IsNullOrWhiteSpace(Email) = False And + String.IsNullOrWhiteSpace(Name) = False + End Get + End Property + Public Property Sequence As Integer = 0 Public Property PrivateMessage As String = "" Public Property AccessCode As String = "" diff --git a/EnvelopeGenerator.Common/Strings/Envelope.en.resx b/EnvelopeGenerator.Common/Strings/Envelope.en.resx index 181a757d..efc3e51a 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.en.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.en.resx @@ -165,6 +165,9 @@ Errors when saving the envelope + + At least one receiver does not have a name or an email address. + Receiver {0} has an invalid Email Address. diff --git a/EnvelopeGenerator.Common/Strings/Envelope.resx b/EnvelopeGenerator.Common/Strings/Envelope.resx index 6b903d8b..a8e9ca21 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope.resx +++ b/EnvelopeGenerator.Common/Strings/Envelope.resx @@ -165,6 +165,9 @@ Fehler beim Speichern des Umschlags: + + Mindestens ein Empfänger hat keine Anrede oder keine Email Adresse. + Empfänger {0} hat keine gültige Email Addresse. diff --git a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb index 245fc065..67f37ece 100644 --- a/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb +++ b/EnvelopeGenerator.Common/Strings/Envelope1.Designer.vb @@ -208,6 +208,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Mindestens ein Empfänger hat keine Anrede oder keine Email Adresse. ähnelt. + ''' + Public Shared ReadOnly Property Incomplete_Receivers() As String + Get + Return ResourceManager.GetString("Incomplete Receivers", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Empfänger {0} hat keine gültige Email Addresse. ähnelt. ''' diff --git a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb index 974c501c..958ccef6 100644 --- a/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb +++ b/EnvelopeGenerator.Form/Controllers/EnvelopeEditorController.vb @@ -85,7 +85,10 @@ Public Class EnvelopeEditorController Public Function SaveReceivers(pEnvelope As Envelope, pReceiversFromGrid As List(Of EnvelopeReceiver)) As Boolean Dim oExistingReceivers As List(Of EnvelopeReceiver) = ReceiverModel.ListReceivers(pReceiversFromGrid).ToList() Dim oExistingAddresses = oExistingReceivers.Select(Function(r) r.Email) - Dim oNewReceivers = pReceiversFromGrid.Where(Function(r) Not oExistingAddresses.Contains(r.Email)).ToList() + Dim oNewReceivers = pReceiversFromGrid.Where(Function(r) + If r.Email Is Nothing Then Return False + Return Not oExistingAddresses.Contains(r.Email) + End Function).ToList() If CreateNewReceivers(oNewReceivers) = False Then Return False @@ -96,6 +99,9 @@ Public Class EnvelopeEditorController pEnvelope.Receivers.Clear() For Each oReceiver In pReceiversFromGrid + If oReceiver.Email Is Nothing Then Continue For + If oReceiver.Name Is Nothing Then Continue For + Dim oDbReceiver = oAllReceivers.Where(Function(r) r.Email = oReceiver.Email).SingleOrDefault() If oDbReceiver IsNot Nothing Then oReceiver.Id = oDbReceiver.Id diff --git a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb index d780f1b2..03a778b3 100644 --- a/EnvelopeGenerator.Form/frmEnvelopeEditor.vb +++ b/EnvelopeGenerator.Form/frmEnvelopeEditor.vb @@ -215,6 +215,8 @@ Partial Public Class frmEnvelopeEditor oEnvelope.Message = oMessage oEnvelope.Documents = Documents.ToList + + If Controller.SaveReceivers(oEnvelope, Receivers.ToList) = False Then MsgBox(Resources.Envelope.Error_when_saving_the_recipients, MsgBoxStyle.Critical, Text) Return False