Example #1
0
        public async Task <ActionResult> Index(int?page, string filter = null)
        {
            var pageSize   = 16;
            var pageNumber = (page ?? 1);
            var books      = await _repo.GetAllBooks();

            var viewBooks = Mapper.Map <IEnumerable <BookViewModel> >(books);

            if (filter == null || filter == string.Empty)
            {
                return(View(viewBooks.ToPagedList(pageNumber, pageSize)));
            }
            else
            {
                return(View(viewBooks.Where(b => b.Name.ToLower().Contains(filter.ToLower()) ||
                                            b.Price.ToString().Contains(filter) ||
                                            b.Author.ToLower().Contains(filter.ToLower()))
                            .ToPagedList(pageNumber, pageSize)));
            }
        }