예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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 }));
        }
예제 #4
0
        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);
        }
예제 #5
0
 public async Task <Tuple <IList <ProductModel>, int> > GetList(PageSortInfo pageSort)
 {
     return(await _productRepository.GetList(pageSort));
 }
예제 #6
0
        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));
        }
예제 #7
0
        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));
        }
예제 #8
0
 public async Task <Tuple <IList <OrderModel>, int> > GetList(PageSortInfo pageSort)
 {
     return(await _orderRepository.GetList(pageSort));
 }