public IActionResult RecipeList(string searchingString, int recipePage = 1) { SearchInfo.setSearchInfo(searchingString); var recipes = from r in repository.Recipes select r; if (!string.IsNullOrEmpty(searchingString)) { recipes = repository.Recipes.Where(r => r.Name.Contains(searchingString) || r.Ingredients.Contains(searchingString) || r.Category.Contains(searchingString) || r.Instruction.Contains(searchingString)); } string filterItem = Request.Form["Category"].ToString(); if (!string.IsNullOrEmpty(filterItem)) { recipes = repository.Recipes.Where(r => r.Category.Contains(filterItem)); } return(View(new RecipeListViewModel { Recipes = recipes .OrderBy(r => r.Name) .Skip((recipePage - 1) * PageSize) .Take(PageSize), PagingInfo = new PagingInfo { CurrentPage = recipePage, ItemsPerPage = PageSize, TotalItems = recipes.Count() } })); }