Exemple #1
0
        public Task <TResult[]> HandleAsync <TEntity, TResult>(Expression <Func <TEntity, bool> > filter, Expression <Func <TEntity, TResult> > selector) where TEntity : class
        {
            var modifiedWhere = new AddMaybeVisitor().Modify(filter);
            //return null instead NullRefEx on b=>b.Author.Name if b.Author is null
            var modifiedSelector = new AddMaybeVisitor().Modify(selector);

            return(Task.FromResult(_querySource.OfType <TEntity>().Where(modifiedWhere).Select(modifiedSelector).ToArray()));
        }
Exemple #2
0
        public Task <TResult[]> HandleAsync <TEntity, TResult>(Expression <Func <TEntity, bool> > filter,
                                                               Expression <Func <TEntity, TResult> > selector, ISortable pagingData)
            where TEntity : class where TResult : class
        {
            var modifiedWhere    = new AddMaybeVisitor().Modify(filter);
            var modifiedSelector = new AddMaybeVisitor().Modify(selector);

            return(Task.FromResult(_querySource.OfType <TEntity>()
                                   .Where(modifiedWhere)
                                   .Select(modifiedSelector)
                                   .ApplyPaging(pagingData)
                                   .ToArray()));
        }