public static FilterDefinition <T> BuildFilterParams <T>( string rowFilterParams, IAliasStore aliasStore) { if (!string.IsNullOrWhiteSpace(rowFilterParams)) { var orRules = orRegex.Matches(rowFilterParams) .Cast <Match>() .Select(m => m.Groups.Values?.ElementAt(1)?.Value) .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(x => $"{notDeletedExpr};{x}") .ToArray(); if (orRules.Length > 0) { var filterDefinitionArray = orRules .Select(x => x.GetFilterDefinitions <T>(aliasStore)) .Select(x => Builders <T> .Filter.And(x)) .ToArray(); var orResult = Builders <T> .Filter.Or(filterDefinitionArray); return(orResult); } } var filterArrey = rowFilterParams? .GetFilterDefinitions <T>(aliasStore); var result = filterArrey != null ? Builders <T> .Filter.And(filterArrey) : Builders <T> .Filter.Empty; return(result); }
public StrictTerm(IAliasStore aliasStore, string rowTermData) { Require.Objects.NotNull(rowTermData, nameof(rowTermData)); this.AliasStore = aliasStore; this.rowTermData = rowTermData; }
public static List <FilterDefinition <T> > GetFilterDefinitions <T>( this string rowFilterParams, IAliasStore aliasStore) { var rawTerms = rowFilterParams .GetRawTerms() .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList(); var filters = rawTerms .Select(data => new StrictTerm <T>(aliasStore, data)) .Select(term => term.GetDbTermFilterDefinition()) .ToList(); return(filters); }
public AliasConverter(IAliasStore aliasStore, ILogger <AliasConverter> logger) { _aliasStore = aliasStore; _logger = logger; }
public QueryFilterBuilder(IAliasStore aliasStore) { this.aliasStore = aliasStore; }
public void SetUp() { _store = new InMemoryAliasStore(); }
public QuerySortBuilder(IAliasStore aliasStore) { Require.Objects.NotNull <BadRequestException>(aliasStore, nameof(aliasStore)); this.aliasStore = aliasStore; }