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));
        }
Exemplo n.º 3
0
        static Expression <Func <SCIssuesDemo, bool> > MakeFilterExpression(CriteriaOperator filter)
        {
            var converter = new GridFilterCriteriaToExpressionConverter <SCIssuesDemo>();

            return(converter.Convert(filter));
        }
Exemplo n.º 4
0
        static Func <IssueData, bool> MakeFilterPredicate(CriteriaOperator filter)
        {
            var converter = new GridFilterCriteriaToExpressionConverter <IssueData>();

            return(converter.Convert(filter).Compile());
        }