コード例 #1
0
        // 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));
        }
コード例 #2
0
ファイル: DrinkData.cs プロジェクト: jcrawford813/buildadrink
        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;
            }));
        }
コード例 #3
0
 public static DrinkIngredientView MapToView(this DrinkIngredient entity)
 {
     return(new DrinkIngredientView()
     {
         Id = entity.Id,
         Volume = entity.Volume
     });
 }
コード例 #4
0
        public DrinkRecipeBuilder AddIngredient(DrinkIngredient ingredient)
        {
            if (ingredient == null)
            {
                throw ExceptionFactory.Get <ArgumentNullException>("'ingredient' is null");
            }

            _drinkRecipe.DrinkIngredients.Add(ingredient);
            return(this);
        }
コード例 #5
0
        public DrinkIngredientViewModel(Ingredient ingredient, DrinkIngredient drinkIngredient)
        {
            Ingredient      = ingredient;
            DrinkIngredient = drinkIngredient;

            Name        = ingredient.Name;
            BottleIndex = ingredient.BottleIndex;
            ByteImage   = ingredient.ByteImage;

            Milliliter = drinkIngredient.Milliliter;
        }
コード例 #6
0
 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);
     }
 }
コード例 #7
0
        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);
        }
コード例 #8
0
        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));
        }
コード例 #9
0
 public Task DeleteAsync(DrinkIngredient drinkIngredient)
 {
     return(Component.Connection.DeleteAsync(drinkIngredient, recursive: false));
 }
コード例 #10
0
 public Task InsertAsync(DrinkIngredient drinkIngredient)
 {
     return(Component.Connection.InsertOrReplaceWithChildrenAsync(drinkIngredient, true));
 }
コード例 #11
0
 public Task UpdateAsync(DrinkIngredient drinkIngredient)
 {
     return(Component.Connection.UpdateAsync(drinkIngredient));
 }
コード例 #12
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));
        }
コード例 #13
0
        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();
        }