Exemplo n.º 1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (!(To?.Any() ?? false))
            {
                yield return(new ValidationResult("At least one recipient must be supplied", new string[] { nameof(To) }));
            }

            IEnumerable <string> invalid;

            if (!ValidationUtils.AreAllValidEmailAddresses(To, out invalid))
            {
                yield return(new ValidationResult("Not all 'To' email addresses are valid: " + string.Join(", ", invalid), new string[] { nameof(To) }));
            }

            if (!ValidationUtils.AreAllValidEmailAddresses(CC, out invalid))
            {
                yield return(new ValidationResult("Not all 'CC' email addresses are valid: " + string.Join(", ", invalid), new string[] { nameof(To) }));
            }

            if (!ValidationUtils.AreAllValidEmailAddresses(To, out invalid))
            {
                yield return(new ValidationResult("Not all 'Bcc' email addresses are valid: " + string.Join(", ", invalid), new string[] { nameof(To) }));
            }

            if (!Template.HasValue && string.IsNullOrWhiteSpace(Body))
            {
                yield return(new ValidationResult("If no template was supplied, then body text is required", new string[] { nameof(Body) }));
            }
        }