public IFilterExpressionBuilder <TEntity> AddFilter( string property, FilterExpressionBuilderCallback <TEntity, string> builder) { var providerBuilder = this.CreateProviderBuilder(); var expressionProvider = new StringFilterExpressionProvider <TEntity>( f => builder(f, providerBuilder).Build()); this.filters.Add(property, expressionProvider); return(this); }
public IFilterExpressionBuilder <TEntity> AddTypedFilter <TFilter>( string property, Func <string, TFilter> conversion, FilterExpressionBuilderCallback <TEntity, TFilter> builder) { var providerBuilder = this.CreateProviderBuilder(); var expressionProvider = new GenericFilterExpressionProvider <TEntity, TFilter>( f => builder(f, providerBuilder).Build(), conversion); this.filters.Add(property, expressionProvider); return(this); }
public IFilterExpressionBuilder <TEntity> AddTypedFilter <TFilter>( string property, FilterExpressionBuilderCallback <TEntity, TFilter> builder) => this.AddTypedFilter(property, ConvertToFilterType <TFilter>, builder);