public async Task <IActionResult> Search(int id, [FromQuery] CocktailSearchViewModel vm)
        {
            var allIngredients = (await ingredientServices.GetAllDTOAsync());

            vm.AllIngredients = new List <SelectListItem>();
            vm.AllIngredients.Add(new SelectListItem("Select...", ""));

            allIngredients.ForEach(c => vm.AllIngredients.Add(new SelectListItem(c.Name, c.Id.ToString())));

            if (string.IsNullOrEmpty(vm.NameKey) && vm.MinRating == null && vm.IngredientId == null)
            {
                return(View(vm));
            }

            var searchParameters = new CocktailSearchDTO
            {
                NameKey      = vm.NameKey,
                MinRating    = vm.MinRating,
                IngredientId = vm.IngredientId
            };

            vm.Paging.Count = await cocktailServices.SerchResultCountAsync(searchParameters);

            vm.Paging.ItemsPerPage = itemsPerPage;
            vm.Paging.CurrentPage  = id == 0 ? 1 : id;

            vm.Result = (await cocktailServices.SearchAsync(searchParameters, itemsPerPage, vm.Paging.CurrentPage))
                        .Select(b => b.MapToViewModel());

            return(View(vm));
        }
Пример #2
0
        public async Task <IActionResult> CocktailSearchResults(string keyword, string page, string pageSize)
        {
            Tuple <IList <Cocktail>, bool> cocktails;
            var model = new CocktailSearchViewModel()
            {
                Keyword = keyword == null ? "" : keyword,
                Page    = int.Parse(page)
            };

            cocktails = await cocktailService.FindCocktailsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), null);

            foreach (var cocktail in cocktails.Item1)
            {
                model.Cocktails.Add(new CocktailViewModel(cocktail));
            }
            model.LastPage = cocktails.Item2;
            return(PartialView("_MagicianCocktailsView", model));
        }
Пример #3
0
        public async Task <IActionResult> FavoriteCocktailsResultPartial(string keyword, string pageSize, string page)
        {
            var userId = int.Parse(this.User.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier).Value);
            Tuple <IList <Cocktail>, bool> cocktails;
            var model = new CocktailSearchViewModel()
            {
                Keyword = keyword == null ? "" : keyword,
                Page    = int.Parse(page)
            };

            cocktails = await cocktailService.FindCocktailsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), userId);

            foreach (var cocktail in cocktails.Item1)
            {
                model.Cocktails.Add(new CocktailViewModel(cocktail));
            }
            model.LastPage = cocktails.Item2;
            return(PartialView("_FavoriteCocktailsResultView", model));
        }
        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));
        }