public async Task <IActionResult> Index()
        {
            List <BarViewModel>      topBarsVM      = new List <BarViewModel>();
            List <CocktailViewModel> topCocktailsVM = new List <CocktailViewModel>();

            var topBars = await barService.FindBarsForCatalogAsync("", "", 1, "Rating", "0;5", "Descending", 6);

            var topCocktails = await cService.FindCocktailsForCatalogAsync("", "", 1, "Rating", "0;5", "Descending", "", 5);

            foreach (var bar in topBars.Item1)
            {
                topBarsVM.Add(new BarViewModel(bar));
            }
            foreach (var cocktail in topCocktails.Item1)
            {
                topCocktailsVM.Add(new CocktailViewModel(cocktail));
            }

            var vm = new IndexViewModel()
            {
                Bars      = topBarsVM,
                Cocktails = topCocktailsVM
            };

            return(View(vm));
        }
        public async Task <IActionResult> CocktailSearchResults(string keyword, string criteria, string order, string page, string rating, string sortOrder, string mainIngredient, string rowSize)
        {
            Tuple <IList <Cocktail>, bool> cocktails;
            var model = new CocktailSearchViewModel()
            {
                Keyword          = keyword == null ? "" : keyword,
                SelectedCriteria = criteria,
                SelectedOrderBy  = order == null ? "" : order,
                Searched         = true,
                Page             = int.Parse(page),
                RowSize          = int.Parse(rowSize)
            };
            var ing  = mainIngredient == null ? "" : mainIngredient;
            var rate = rating == null ? "1;5" : rating;

            cocktails = await cocktailService.FindCocktailsForCatalogAsync(model.Keyword, model.SelectedCriteria, model.Page, model.SelectedOrderBy, rate, sortOrder, ing, 12);

            foreach (var cocktail in cocktails.Item1)
            {
                model.Cocktails.Add(new CocktailViewModel(cocktail));
            }
            model.LastPage = cocktails.Item2;
            return(PartialView("_CocktailSearchView", model));
        }