// GET: Categories public async Task <IActionResult> Index(PagingParamters model) { ViewData["CurrentSort"] = model.SortOrder; ViewData["NameSortParm"] = String.IsNullOrEmpty(model.SortOrder) ? "name_desc" : ""; if (model.SearchString != null) { model.PageNumber = 1; } else { model.SearchString = model.CurrentFilter; } ViewData["CurrentFilter"] = model.SearchString; var Listcategorias = await _context.Categories.ToListAsync(); if (!String.IsNullOrEmpty(model.SearchString)) { Listcategorias = Listcategorias.Where(x => x.Name.Contains(model.SearchString) || x.Description.Contains(model.SearchString)).ToList(); } switch (model.SortOrder) { case "name_desc": Listcategorias = Listcategorias.OrderByDescending(s => s.Name).ToList(); break; default: Listcategorias = Listcategorias.OrderBy(s => s.Name).ToList(); break; } if (model.PageNumber == 0) { model.PageNumber = 1; } if (model.PageSize == 0) { model.PageSize = 10; } var paginationList = await Task.FromResult(new PaginationList <Category>(model.PageNumber, model.PageSize)); return(View(paginationList.Read(Listcategorias))); }
public async Task <IActionResult> Index(PagingParamters model) { ViewData["CurrentSort"] = model.SortOrder == null? "": model.SortOrder; ViewData["NameSortParm"] = String.IsNullOrEmpty(model.SortOrder) ? "name_desc" : ""; ViewData["DateSortParm"] = model.SortOrder == "Date" ? "date_desc" : "Date"; if (model.SearchString != null) { model.PageNumber = 1; } else { model.SearchString = model.CurrentFilter; } ViewBag.categoryFilter = model.CategoryFilter; ViewBag.CurrentFilter = model.SearchString; var listBook = await _context.Books.Include(b => b.Category).Where(x => !x.Excluded).ToListAsync(); //listBook = listBook.AsQueryable(); if (!String.IsNullOrEmpty(model.CategoryFilter)) { listBook = listBook.Where(x => x.CategoryId.ToString() == model.CategoryFilter).ToList(); } if (!String.IsNullOrEmpty(model.SearchString)) { listBook = listBook.Where(x => x.Title.Contains(model.SearchString) || x.Description.Contains(model.SearchString)).ToList(); } if (model.RentedFilter == "True") { listBook = listBook.Where(x => x.Rented).ToList(); } else if (model.RentedFilter == "False") { listBook = listBook.Where(x => !x.Rented).ToList(); } switch (model.SortOrder) { case "name_desc": listBook = listBook.OrderByDescending(s => s.Title).ToList(); break; case "Date": listBook = listBook.OrderBy(s => s.DateCriation).ToList(); break; case "date_desc": listBook = listBook.OrderByDescending(s => s.DateCriation).ToList(); break; default: listBook = listBook.OrderBy(s => s.Title).ToList(); break; } if (model.PageNumber == 0) { model.PageNumber = 1; } if (model.PageSize == 0) { model.PageSize = 10; } ViewBag.Categorys = new SelectList(await _context.Categories.OrderBy(c => c.Name).ToListAsync(), "Id", "Name", model.CategoryFilter); ViewBag.rentedOption = new SelectList(SelectListOptionsViewModel.GetList(), "Key", "Value", model.RentedFilter); var paginationList = await Task.FromResult(new PaginationList <Book>(model.PageNumber, model.PageSize)); return(View(paginationList.Read(listBook))); }