Example #1
0
        public List <Book> GetList(BookSortType sort, int pageSize, int pageNumber)
        {
            var books = from s in db.Books select s;

            switch (sort)
            {
            case BookSortType.Title:
                books = books.OrderBy(b => b.Title);
                break;

            case BookSortType.TitleDesc:
                books = books.OrderByDescending(b => b.Title);
                break;

            case BookSortType.Price:
                books = books.OrderBy(b => b.Price);
                break;

            case BookSortType.PriceDesc:
                books = books.OrderByDescending(b => b.Price);
                break;

            case BookSortType.Quantity:
                books = books.OrderBy(b => b.Quantity);
                break;

            case BookSortType.QuantityDesc:
                books = books.OrderByDescending(b => b.Quantity);
                break;

            case BookSortType.ImgUrl:
                books = books.OrderBy(b => b.ImgUrl);
                break;

            case BookSortType.ImgUrlDesc:
                books = books.OrderByDescending(b => b.ImgUrl);
                break;

            case BookSortType.IsActive:
                books = books.OrderBy(b => b.IsActive);
                break;

            case BookSortType.IsActiveDesc:
                books = books.OrderByDescending(b => b.IsActive);
                break;

            default:
                break;
            }
            return(books
                   .Skip(pageSize * (pageNumber - 1))
                   .Take(pageSize)
                   .Include(b => b.Author)
                   .Include(b => b.Category)
                   .Include(b => b.Publisher)
                   .ToList());
        }
Example #2
0
        // GET: Books
        public ActionResult Index(int?pageNumber, BookSortType sort = BookSortType.Title)
        {
            // Sorting.
            ViewBag.SortTitle    = (sort == BookSortType.Title ? BookSortType.TitleDesc : BookSortType.Title);
            ViewBag.SortPrice    = (sort == BookSortType.Price ? BookSortType.PriceDesc : BookSortType.Price);
            ViewBag.SortQuantity = (sort == BookSortType.Quantity ? BookSortType.QuantityDesc : BookSortType.Quantity);
            ViewBag.SortImgUrl   = (sort == BookSortType.ImgUrl ? BookSortType.ImgUrlDesc : BookSortType.ImgUrl);
            ViewBag.SortIsActive = (sort == BookSortType.IsActive ? BookSortType.IsActiveDesc : BookSortType.IsActive);
            ViewBag.CurrentSort  = sort;

            // Paging.
            pageNumber = (pageNumber ?? 1);
            int pageSize = 4;

            ViewBag.NumOfPages = bookBU.GetNumOfPages(pageSize);
            ViewBag.PageNumber = pageNumber;

            return(View(bookBU.GetList(sort, pageSize, pageNumber.Value)));
        }
Example #3
0
 public List <Book> GetList(BookSortType sort, int pageSize, int pageNumber)
 {
     return(bookDA.GetList(sort, pageSize, pageNumber));
 }