static Expression <Func <IssueData, bool> > MakeFilterExpression(CriteriaOperator filter) { var converter = new GridFilterCriteriaToExpressionConverter <IssueData>(); converter.RegisterFunctionExpressionFactory( operatorType: FunctionOperatorType.StartsWith, factory: (string value) => { var toLowerValue = value.ToLower(); return(x => x.ToLower().StartsWith(toLowerValue)); }); return(converter.Convert(filter)); }
static FetchRowsResult FetchRows(FetchRowsAsyncEventArgs e) { var filterWithSkipToken = CriteriaOperator.And(e.Filter, (CriteriaOperator)e.SkipToken); var converter = new GridFilterCriteriaToExpressionConverter <IssueData>(); var filterExpression = converter.Convert(filterWithSkipToken); const string defaultUniqueSortProperty = "Id"; var context = new IssuesContext(); var queryable = IssueData.Select(context.Issues) .SortBy(e.SortOrder, defaultUniqueSortPropertyName: defaultUniqueSortProperty) .Where(filterExpression); var issues = queryable .Take(e.Take ?? 30) .ToArray(); var nextSkipToken = SkipTokenHelper.MakeFilterSkipToken(e.SortOrder, defaultUniqueSortProperty, issues.LastOrDefault()); return(new FetchRowsResult(issues, nextSkipToken: nextSkipToken)); }
static Expression <Func <SCIssuesDemo, bool> > MakeFilterExpression(CriteriaOperator filter) { var converter = new GridFilterCriteriaToExpressionConverter <SCIssuesDemo>(); return(converter.Convert(filter)); }
static Func <IssueData, bool> MakeFilterPredicate(CriteriaOperator filter) { var converter = new GridFilterCriteriaToExpressionConverter <IssueData>(); return(converter.Convert(filter).Compile()); }