Example #1
0
        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()
                }
            }));
        }