Beispiel #1
0
        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);
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
        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);
        }