public async Task <CocktailDescription> GetCocktailDescription(string id)
        {
            string              url      = $"https://www.thecocktaildb.com/api/json/v1/1/lookup.php?i={id}";
            HttpClient          client   = new HttpClient();
            HttpResponseMessage response = await client.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                string json = await response.Content.ReadAsStringAsync();

                CocktailDescription cocktailDesc = JsonConvert.DeserializeObject <CocktailDescription>(json);
                return(cocktailDesc);
            }
            return(null);
        }
Esempio n. 2
0
        // GET: Cocktails/Details/5
        public async Task <IActionResult> Details(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            CocktailDescription cocktail = await _cocktailDescriptionRequest.GetCocktailDescription(id);

            if (cocktail == null)
            {
                return(NotFound());
            }

            return(View(cocktail));
        }
Esempio n. 3
0
        public async Task <IActionResult> SaveDrink(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var userId   = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var homeCook = _context.HomeCook.Where(c => c.IdentityUserId ==
                                                   userId).SingleOrDefault();
            CocktailDescription cocktail = await _cocktailDescriptionRequest.GetCocktailDescription(id);

            CocktailViewModel cocktailView = new CocktailViewModel()
            {
                CocktailDescription = cocktail,
                HomeCook            = homeCook
            };

            if (cocktail == null)
            {
                return(NotFound());
            }

            return(View(cocktailView));
        }
Esempio n. 4
0
        public async Task <IActionResult> Cart(string id)
        {
            var userId   = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var homeCook = _context.HomeCook.Where(c => c.IdentityUserId ==
                                                   userId).SingleOrDefault();
            CocktailDescription cocktailDescription = await _cocktailDescriptionRequest.GetCocktailDescription(id);

            string items = "";

            if (cocktailDescription.drinks[0].strIngredient1 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient1 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient2 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient2 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient3 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient3 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient4 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient4 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient5 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient5 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient6 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient6 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient7 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient7 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient8 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient8 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient9 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient9 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient10 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient10 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient11 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient11 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient12 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient12 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient13 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient13 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient14 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient14 + " , ";
            }
            if (cocktailDescription.drinks[0].strIngredient15 != null)
            {
                items += cocktailDescription.drinks[0].strIngredient15 + " , ";
            }
            ShoppingCart cart = _context.ShoppingCart.Where(a => a.HomeCookId == homeCook.HomeCookId).FirstOrDefault();

            if (cart == null)
            {
                cart = new ShoppingCart()
                {
                    Items    = items,
                    HomeCook = homeCook
                };
                _context.ShoppingCart.Add(cart);
            }
            else
            {
                cart.Items   += items;
                cart.HomeCook = homeCook;
                _context.ShoppingCart.Update(cart);
            }
            _context.SaveChanges();
            DrinkIngredient drinkIngredient = await _cocktailIngredientRequest.GetDrinkIngredient();

            List <SelectListItem> ingredients = new List <SelectListItem>();
            var _ingredients = drinkIngredient.drinks.Select(a => new SelectListItem()
            {
                Text  = a.strIngredient1,
                Value = a.strIngredient1
            });

            ingredients = _ingredients.OrderBy(a => a.Text).ToList();
            string    selectedIngredient = ingredients.Select(a => a.Value).FirstOrDefault().ToString();
            Cocktails cocktails          = await _cocktailByIngredientRequest.GetCocktailsByIngredients(selectedIngredient);

            CocktailViewModel cocktailView = new CocktailViewModel()
            {
                Cocktail    = cocktails,
                HomeCook    = homeCook,
                Ingredients = ingredients
            };

            return(View("Index", cocktailView));
        }