public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var processor    = new SearchOptionsProcessor <T, TEntity>(Search);
            var validTerms   = processor.GetValidTerms().Select(x => x.Name);
            var invalidTerms = processor.GetAllTerms()
                               .Where(x => !validTerms.Any(v => v.Equals(x.Name, StringComparison.OrdinalIgnoreCase)))
                               .Select(x => x.Name);

            foreach (var term in invalidTerms)
            {
                yield return(new ValidationResult($"Invalid search term {term}", new[] { nameof(Search) }));
            }
        }
Ejemplo n.º 2
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var processor = new SearchOptionsProcessor <T, TEntity>(Search);

            var validTerms = processor.GetValidTerms().Select(x => x.Name);

            var invalidTerms = processor.GetAllTerms().Select(x => x.Name).Except(validTerms, StringComparer.CurrentCultureIgnoreCase);

            foreach (var term in invalidTerms)
            {
                yield return(new ValidationResult($"Invalid search term '{term}'.", new[] { nameof(Search) }));
            }
        }
        private IEnumerable <ValidationResult> ValidateSearchOptions()
        {
            if (Search == null)
            {
                yield break;
            }

            var processor = new SearchOptionsProcessor <T>(Search);

            var validTerms   = processor.GetValidTerms().Select(x => x.Name);
            var invalidTerms = processor.GetAllTerms().Select(x => x.Name)
                               .Except(validTerms, StringComparer.OrdinalIgnoreCase);

            foreach (var term in invalidTerms)
            {
                yield return(new ValidationResult($"Invalid search term '{term}'", new[] { nameof(Search) }));
            }
        }