// GET: Cocktails public async Task <IActionResult> Index() { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var homeCook = _context.HomeCook.Where(c => c.IdentityUserId == userId).SingleOrDefault(); 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, Ingredients = ingredients, HomeCook = homeCook }; return(View(cocktailView)); }
public async Task <IList <DrinkIngredient> > GetDrinkIngredients(int drinkId) { const string sql = @"SELECT i.Name AS [IngredientName], Amount, m.Name as MeasurementName FROM DrinkIngredient di JOIN Ingredient i ON di.IngredientId = i.IngredientId JOIN Measurement m ON m.MeasurementId = di.MeasurementId WHERE d.DrinkId = @drinkId"; return(await ExecuteAndMap(async (cmd) => { var ingredients = new List <DrinkIngredient>(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@drinkId", drinkId); using (var reader = await cmd.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { var ingredient = new DrinkIngredient() { Name = reader["IngredientName"].ToString(), Amount = Convert.ToDecimal(reader["Amount"]), Measurement = new Measurement() { Name = reader["MeasurementName"].ToString() } }; ingredients.Add(ingredient); } } return ingredients; })); }
public static DrinkIngredientView MapToView(this DrinkIngredient entity) { return(new DrinkIngredientView() { Id = entity.Id, Volume = entity.Volume }); }
public DrinkRecipeBuilder AddIngredient(DrinkIngredient ingredient) { if (ingredient == null) { throw ExceptionFactory.Get <ArgumentNullException>("'ingredient' is null"); } _drinkRecipe.DrinkIngredients.Add(ingredient); return(this); }
public DrinkIngredientViewModel(Ingredient ingredient, DrinkIngredient drinkIngredient) { Ingredient = ingredient; DrinkIngredient = drinkIngredient; Name = ingredient.Name; BottleIndex = ingredient.BottleIndex; ByteImage = ingredient.ByteImage; Milliliter = drinkIngredient.Milliliter; }
private void AssignIngredientsToDrink(Drink drink, IEnumerable <string> ingredients) { foreach (var ingredient in ingredients) { var ingredientId = DbContext.Ingredients.FirstOrDefault(p => p.Name == ingredient).Id; var drinkIngredient = new DrinkIngredient { DrinkId = drink.Id, IngredientId = ingredientId }; drink.DrinkIngredients.Add(drinkIngredient); } }
public async Task <DrinkIngredient> GetDrinkIngredient() { string url = "https://www.thecocktaildb.com/api/json/v1/1/list.php?i=list"; HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { string json = await response.Content.ReadAsStringAsync(); DrinkIngredient ingredient = JsonConvert.DeserializeObject <DrinkIngredient>(json); return(ingredient); } return(null); }
public async Task <IActionResult> SaveDrink(CocktailViewModel cocktailView) { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var homeCook = _context.HomeCook.Where(c => c.IdentityUserId == userId).SingleOrDefault(); cocktailView.HomeCook = homeCook; _context.SavedDrinks.Add(new SavedDrinks() { Name = cocktailView.CocktailDescription.drinks[0].strDrink, Ingredient1 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure1} {cocktailView.CocktailDescription.drinks[0].strIngredient1}", Ingredient2 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure2} {cocktailView.CocktailDescription.drinks[0].strIngredient2}", Ingredient3 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure3} {cocktailView.CocktailDescription.drinks[0].strIngredient3}", Ingredient4 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure4} {cocktailView.CocktailDescription.drinks[0].strIngredient4}", Ingredient5 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure5} {cocktailView.CocktailDescription.drinks[0].strIngredient5}", Ingredient6 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure6} {cocktailView.CocktailDescription.drinks[0].strIngredient6}", Ingredient7 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure7} {cocktailView.CocktailDescription.drinks[0].strIngredient7}", Ingredient8 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure8} {cocktailView.CocktailDescription.drinks[0].strIngredient8}", Ingredient9 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure9} {cocktailView.CocktailDescription.drinks[0].strIngredient9}", Ingredient10 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure10} {cocktailView.CocktailDescription.drinks[0].strIngredient10}", Ingredient11 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure11} {cocktailView.CocktailDescription.drinks[0].strIngredient11}", Ingredient12 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure12} {cocktailView.CocktailDescription.drinks[0].strIngredient12}", Ingredient13 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure13} {cocktailView.CocktailDescription.drinks[0].strIngredient13}", Ingredient14 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure14} {cocktailView.CocktailDescription.drinks[0].strIngredient14}", Ingredient15 = $"{cocktailView.CocktailDescription.drinks[0].strMeasure15} {cocktailView.CocktailDescription.drinks[0].strIngredient15}", Recipe = cocktailView.CocktailDescription.drinks[0].strInstructions, HomeCook = homeCook }); 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); cocktailView.Cocktail = cocktails; cocktailView.Ingredients = ingredients; _context.SaveChanges(); return(View("Index", cocktailView)); }
public Task DeleteAsync(DrinkIngredient drinkIngredient) { return(Component.Connection.DeleteAsync(drinkIngredient, recursive: false)); }
public Task InsertAsync(DrinkIngredient drinkIngredient) { return(Component.Connection.InsertOrReplaceWithChildrenAsync(drinkIngredient, true)); }
public Task UpdateAsync(DrinkIngredient drinkIngredient) { return(Component.Connection.UpdateAsync(drinkIngredient)); }
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)); }
private static void InitialData(CoffeeTestDbContext dbContext) { #region Ingredients var coffeeBean = new Ingredient { IngredientName = "Coffee" }; var sugar = new Ingredient { IngredientName = "Sugar" }; var milk = new Ingredient { IngredientName = "Milk" }; dbContext.Ingredients.Add(coffeeBean); dbContext.Ingredients.Add(sugar); dbContext.Ingredients.Add(milk); #endregion #region Office var office = new Office { Location = "Location 1", OfficeName = "Office 1" }; dbContext.Offices.Add(office); #endregion #region Pantry var pantry = new Pantry { Office = office, PantryName = "Pantry 1" }; dbContext.Pantries.Add(pantry); #endregion #region Drinks var doubleAmericano = new Drink { DrinkName = "Double Americano", }; var sweetLatte = new Drink { DrinkName = "Sweet Latte", }; var flatWhite = new Drink { DrinkName = "Flat White", }; dbContext.Drinks.Add(doubleAmericano); dbContext.Drinks.Add(sweetLatte); dbContext.Drinks.Add(flatWhite); #endregion #region Pantry Ingredients var pantryIngredientMilk = new OfficeIngredient { Ingredient = milk, Office = office, TotalUnitsLeft = 45, StacksLeft = 3 }; var pantryIngredientSugar = new OfficeIngredient { Ingredient = sugar, Office = office, TotalUnitsLeft = 45, StacksLeft = 3 }; var pantryIngredientCoffeeBean = new OfficeIngredient { Ingredient = coffeeBean, TotalUnitsLeft = 45, Office = office, StacksLeft = 3 }; dbContext.OfficeIngredients.Add(pantryIngredientCoffeeBean); dbContext.OfficeIngredients.Add(pantryIngredientSugar); dbContext.OfficeIngredients.Add(pantryIngredientMilk); #endregion #region Drink Ingredient var doubleAmericanoCoffeeBeans = new DrinkIngredient { Drink = doubleAmericano, Ingredient = coffeeBean, UnitsUsed = 3 }; var doubleAmericanoSugar = new DrinkIngredient { Drink = doubleAmericano, Ingredient = sugar, UnitsUsed = 0 }; var doubleAmericanoMilk = new DrinkIngredient { Drink = doubleAmericano, Ingredient = milk, UnitsUsed = 0 }; dbContext.DrinkIngredients.Add(doubleAmericanoCoffeeBeans); dbContext.DrinkIngredients.Add(doubleAmericanoMilk); dbContext.DrinkIngredients.Add(doubleAmericanoSugar); var sweetLatteCoffeeBeans = new DrinkIngredient { Drink = sweetLatte, Ingredient = coffeeBean, UnitsUsed = 2 }; var sweetLatteSugar = new DrinkIngredient { Drink = sweetLatte, Ingredient = sugar, UnitsUsed = 5 }; var sweetLatteMilk = new DrinkIngredient { Drink = sweetLatte, Ingredient = milk, UnitsUsed = 3 }; dbContext.DrinkIngredients.Add(sweetLatteCoffeeBeans); dbContext.DrinkIngredients.Add(sweetLatteSugar); dbContext.DrinkIngredients.Add(sweetLatteMilk); var flatWhiteCoffeeBeans = new DrinkIngredient { Drink = flatWhite, Ingredient = coffeeBean, UnitsUsed = 2 }; var flatWhiteSugar = new DrinkIngredient { Drink = flatWhite, Ingredient = sugar, UnitsUsed = 1 }; var flatWhiteMilk = new DrinkIngredient { Drink = flatWhite, Ingredient = milk, UnitsUsed = 4 }; dbContext.DrinkIngredients.Add(flatWhiteCoffeeBeans); dbContext.DrinkIngredients.Add(flatWhiteSugar); dbContext.DrinkIngredients.Add(flatWhiteMilk); #endregion #region Pantry Drink var pantryDoubleAmericano = new PantryDrink { Pantry = pantry, Drink = doubleAmericano }; var pantrySweetLatte = new PantryDrink { Pantry = pantry, Drink = sweetLatte }; var pantryFlatWhite = new PantryDrink { Pantry = pantry, Drink = flatWhite }; dbContext.PantryDrinks.Add(pantryDoubleAmericano); dbContext.PantryDrinks.Add(pantrySweetLatte); dbContext.PantryDrinks.Add(pantryFlatWhite); #endregion dbContext.SaveChanges(); }