Пример #1
0
 private IQueryable <Customer> ApplyFilters(IQueryable <Customer> efQuery, CustomerOrdersQueryModel queryModel)
 {
     if (!string.IsNullOrWhiteSpace(queryModel.NameSearch))
     {
         efQuery = efQuery.Where(c => c.CompanyName.Contains(queryModel.NameSearch));
     }
     return(efQuery);
 }
Пример #2
0
 private IQueryable <Customer> ApplyPaging(IQueryable <Customer> efQuery, CustomerOrdersQueryModel queryModel)
 {
     if (queryModel.PageIndex.HasValue && queryModel.PageSize.HasValue)
     {
         return(efQuery
                .Skip(queryModel.PageIndex.Value * queryModel.PageSize.Value)
                .Take(queryModel.PageSize.Value)
                .OrderBy(c => c.CompanyName));
     }
     return(efQuery);
 }
Пример #3
0
        public async Task <IEnumerable <CustomerOrdersModel> > Execute(CustomerOrdersQueryModel queryModel)
        {
            var efQuery = _context.Customers.Where(c => true);

            efQuery = ApplyFilters(efQuery, queryModel);
            efQuery = ApplyPaging(efQuery, queryModel);

            return(await SimpleSelect(efQuery));

            // return await ToListSelect(efQuery);
            // return await SelectAnon(efQuery);
            // return await ReusableProjection(efQuery);
            // return await ExtensionMethod(efQuery);
            // return await AutoMapper(efQuery);


            // Note: Show Linqkit predicate builder
            // http://www.albahari.com/nutshell/predicatebuilder.aspx
        }