/// <summary>Returns a list of errors messages. Returns an empty list if there aren't any issues.</summary> protected List <string> GetBaseValidationErrorMessages() { var errorMessages = new List <string>(); if (AcceptedOrganisationStatuses == null) { errorMessages.Add("AcceptedOrganisationStatuses isn't defined."); } else { errorMessages.AddRange(AcceptedOrganisationStatuses .Where(string.IsNullOrWhiteSpace) .Select(status => $"'{status}' is not a valid value in AcceptedOrganisationStatuses.")); } if (AcceptedOrganisationTypes == null) { errorMessages.Add("AcceptedOrganisationTypes isn't defined."); } else { errorMessages.AddRange(AcceptedOrganisationTypes .Where(string.IsNullOrWhiteSpace) .Select(type => $"'{type}' is not a valid value in AcceptedOrganisationTypes.")); } if (string.IsNullOrWhiteSpace(FirstAcceptedOrganisationStatus) && string.IsNullOrWhiteSpace(FirstAcceptedOrganisationType)) { errorMessages.Add("Either AcceptedOrganisationStatuses or AcceptedOrganisationTypes has to contain at least one value."); } if (string.IsNullOrWhiteSpace(DeliveryIdFieldName)) { errorMessages.Add("DeliveryIdFieldName isn't defined."); } if (string.IsNullOrWhiteSpace(OrganisationIdFieldName)) { errorMessages.Add("OrganisationIdFieldName isn't defined."); } if (string.IsNullOrWhiteSpace(PrimaryContactCheckboxFieldName)) { errorMessages.Add("PrimaryContactCheckboxFieldName isn't defined."); } if (string.IsNullOrWhiteSpace(WebcrmApiKey)) { errorMessages.Add("OrganisationIdFieldName isn't defined."); } if (string.IsNullOrWhiteSpace(WebcrmSystemId)) { errorMessages.Add("WebcrmSystemId isn't defined."); } return(errorMessages); }
/// <remarks>This method is called by the .NET when validating the object.</remarks> public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { bool statusDefined = AcceptedOrganisationStatuses.Any(status => !string.IsNullOrWhiteSpace(status)); bool typeDefined = AcceptedOrganisationTypes.Any(type => !string.IsNullOrWhiteSpace(type)); if (!statusDefined && !typeDefined) { var missingOrganisationStatusOrType = new ValidationResult( "Either AcceptedOrganisationStatuses or AcceptedOrganisationTypes must contain at least one value", new[] { nameof(AcceptedOrganisationStatuses), nameof(AcceptedOrganisationTypes) }); return(new[] { missingOrganisationStatusOrType }); } return(new List <ValidationResult>()); }