protected virtual IFilter ConvertRangeFilter(BrowseFilters.RangeFilter rangeFilter, IList <string> valueIds) { IFilter result; var knownValues = rangeFilter.Values ?.Where(v => valueIds.Contains(v.Id, StringComparer.OrdinalIgnoreCase)) .ToArray(); if (knownValues != null && knownValues.Any()) { result = new RangeFilter { FieldName = rangeFilter.Key, Values = knownValues.Select(ConvertRangeFilterValue).ToArray(), }; } else { // Unknown term values should produce empty result result = new IdsFilter { Values = new[] { string.Empty } }; } return(result); }
protected virtual IList <AggregationRequest> GetRangeFilterAggregationRequests(BrowseFilters.RangeFilter rangeFilter, IList <IFilter> existingFilters) { var result = rangeFilter.Values.Select(v => GetRangeFilterValueAggregationRequest(rangeFilter.Key, v, existingFilters)).ToList(); return(result); }