public ActionResult Search(string search, int page = 1) { PagedBookListViewModel model = null; try { var books = service.Books.Books.Where(x => x.Name.ToLower().Contains(search.ToLower()) || x.Author.ToLower().Contains(search.ToLower())).OrderBy(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize); model = new PagedBookListViewModel { Books = books, PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = books.Count() } }; } catch { return View("NothingFound"); } return View(model); }
public ActionResult Index(int page = 1) { PagedBookListViewModel model = new PagedBookListViewModel { Books = service.Books.Books.OrderBy(x => x.ISBN).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; return View(model); }
public ActionResult Index(string Sort = "Name", int page = 1, string SortType = "Asc") { PagedBookListViewModel model = null; if (SortType == "Asc") { switch (Sort) { case "Name": model = new PagedBookListViewModel { Books = service.Books.Books.OrderBy(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "Author": model = new PagedBookListViewModel { Books = service.Books.Books.OrderBy(x => x.Author).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "Publisher": model = new PagedBookListViewModel { Books = service.Books.Books.OrderBy(x => x.Publisher).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "PublishDate": model = new PagedBookListViewModel { Books = service.Books.Books.OrderBy(x => x.PublicationDate).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; } } else { switch (Sort) { case "Name": model = new PagedBookListViewModel { Books = service.Books.Books.OrderByDescending(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "Author": model = new PagedBookListViewModel { Books = service.Books.Books.OrderByDescending(x => x.Author).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "Publisher": model = new PagedBookListViewModel { Books = service.Books.Books.OrderByDescending(x => x.Publisher).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; case "PublishDate": model = new PagedBookListViewModel { Books = service.Books.Books.OrderByDescending(x => x.PublicationDate).Skip((page - 1) * PageSize).Take(PageSize), PageInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = service.Books.Books.Count() } }; break; } } return View(model); }