public async Task <Tuple <IList <ProductModel>, int> > GetList(PageSortInfo pageSort) { var totalCount = await _db.Products.Where(x => x.IsActive).CountAsync(); var list = await _db.Products.Where(x => x.IsActive).Sort(pageSort).Skip(pageSort.PageIndex * pageSort.PageSize).Take(pageSort.PageSize).ToListAsync(); return(new Tuple <IList <ProductModel>, int>(list, totalCount)); }
public async Task <Tuple <IList <CartModel>, int> > GetList(PageSortInfo pageSort) { var totalCount = await _db.Cart.CountAsync(); var list = await _db.Cart.Include(x => x.Product).Skip(pageSort.PageIndex * pageSort.PageSize).Take(pageSort.PageSize).ToListAsync(); return(new Tuple <IList <CartModel>, int>(list, totalCount)); }
public static IQueryable <TModel> Sort <TModel>(this IQueryable <TModel> q, PageSortInfo pageSort) { string orderDist = pageSort.SortOrder != null && pageSort.SortOrder.Value == SortOrderEnum.Asc ? Asc : Desc; Type entityType = typeof(TModel); PropertyInfo p = entityType.GetProperty(pageSort.SortField); MethodInfo m = typeof(IQueryableExtension).GetMethod(orderDist).MakeGenericMethod(entityType, p.PropertyType); return((IQueryable <TModel>)m.Invoke(null, new object[] { q, p })); }
public async Task <Tuple <IList <ProductModel>, int> > GetList(string terms, PageSortInfo pageSort) { Tuple <IList <ProductModel>, int> list; if (!string.IsNullOrWhiteSpace(terms)) { list = await _productRepository.GetList((x => x.Description.Contains(terms)), pageSort); } else { list = await _productRepository.GetList(pageSort); } return(list); }
public async Task <Tuple <IList <ProductModel>, int> > GetList(PageSortInfo pageSort) { return(await _productRepository.GetList(pageSort)); }
public async Task <Tuple <IList <CartModel>, int> > GetList(Expression <Func <CartModel, bool> > predicate, PageSortInfo pageSort) { var totalCount = await _db.Cart.Where(predicate).CountAsync(); var list = await _db.Cart.Include(x => x.Product).Skip(pageSort.PageIndex * pageSort.PageSize).Take(pageSort.PageSize).ToListAsync(); return(new Tuple <IList <CartModel>, int>(list, totalCount)); }
public async Task <Tuple <IList <OrderModel>, int> > GetList(Expression <Func <OrderModel, bool> > predicate, PageSortInfo pageSort) { var totalCount = await _db.Orders.Where(predicate).Where(x => x.IsActive).CountAsync(); var list = await _db.Orders.Where(x => x.IsActive).Sort(pageSort).Skip(pageSort.PageIndex * pageSort.PageSize).Take(pageSort.PageSize).ToListAsync(); return(new Tuple <IList <OrderModel>, int>(list, totalCount)); }
public async Task <Tuple <IList <OrderModel>, int> > GetList(PageSortInfo pageSort) { return(await _orderRepository.GetList(pageSort)); }