public SearchifyAggregationConfigurer <TAggregation> WithDisplayName(string displayName) { var fd = new FluentDictionary <string, object>(descriptor.Meta); fd.AddOrUpdate(SearchifyFilterExtensions.AggregationDisplayNameKey, displayName, v => !string.IsNullOrWhiteSpace(displayName)); descriptor.Meta = fd; return(this); }
public static TAggregation AsSearchifyFilter <TAggregation>(this TAggregation descriptor, Action <SearchifyAggregationConfigurer <TAggregation> > configure = null) where TAggregation : class, IAggregation { var typeName = ResolveAggregationTypeName(descriptor); if (string.IsNullOrWhiteSpace(typeName)) { throw new NotSupportedException("Unfortunately this aggregation is not currently supported by the searchify filter abstraction, raise an issue if you would like to see it included"); } var config = new SearchifyAggregationConfigurer <TAggregation>(descriptor); configure?.Invoke(config); var fd = new FluentDictionary <string, object>(descriptor.Meta); fd.AddOrUpdate(nameof(AggregationFilterModel <SearchParameters> .Type), typeName); descriptor.Meta = fd; return(descriptor); }