Example #1
0
        /// <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);
        }
Example #2
0
        /// <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>());
        }