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