public IActionResult Index(string searchString, int page = 1, CategoriesSortState sortOrder = CategoriesSortState.IdAsc) { ViewData["IdSort"] = sortOrder == CategoriesSortState.IdAsc ? CategoriesSortState.IdDesc : CategoriesSortState.IdAsc; ViewData["NameSort"] = sortOrder == CategoriesSortState.NameAsc ? CategoriesSortState.NameDesc : CategoriesSortState.NameAsc; var categories = _categoryRepository.GetAll(); if (!string.IsNullOrEmpty(searchString)) { categories = categories.Where(n => n.Name.ToLower().Contains(searchString.ToLower())).ToList(); } List <Category> sortCategories = (sortOrder switch { CategoriesSortState.IdDesc => categories.OrderByDescending(n => n.Id), CategoriesSortState.NameAsc => categories.OrderBy(n => n.Name), CategoriesSortState.NameDesc => categories.OrderByDescending(n => n.Name), _ => categories.OrderBy(n => n.Id), }).ToList();
public CategoriesSortViewModel(CategoriesSortState sortOrder) { IdSort = sortOrder == CategoriesSortState.IdAsc ? CategoriesSortState.IdDesc : CategoriesSortState.IdAsc; NameSort = sortOrder == CategoriesSortState.NameAsc ? CategoriesSortState.NameDesc : CategoriesSortState.NameAsc; Current = sortOrder; }