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); }
// 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)); }
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)); }
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)); }