public List <CocktailModel> GetCocktailWithParticuarAmountouOfAlcohol(double alcohol) { List <CocktailModel> cocktailModels = null; cocktailDAO = new CocktailDAO(); cocktailModels = cocktailDAO.GetCocktailWithParticuarAmountouOfAlcohol(alcohol); int idCocktail = 0; List <CocktailModel> cocktailReturnColl = new List <CocktailModel>(); CocktailModel cocktailReturn = null; if (cocktailModels != null) { foreach (var cocktail in cocktailModels) { var id = cocktail.Id; if (idCocktail != id) { idCocktail = id; cocktailReturn = new CocktailModel(); cocktailReturn = cocktail; cocktailReturnColl.Add(cocktailReturn); } else { cocktailReturn.OrderIngredient.Add(cocktail.OrderIngredient[0]); } } } return(cocktailReturnColl); }
public void InsertNewGeneratedCocktail(List <CocktailModel> cocktailColl) { cocktailDAO = new CocktailDAO(); cocktailIngredientDAO = new CocktailIngredientDAO(); foreach (var cocktail in cocktailColl) { var idCocktail = cocktailDAO.InsertNewGeneratedCocktail(cocktail); foreach (var cocktailItens in cocktail.OrderIngredient) { var idItemCocktail = cocktailIngredientDAO.InsertNewGeneratedCocktail(cocktailItens, idCocktail); } } }
public List <CocktailModel> GetNewGeneratedCocktail(int numberOfIngridients, double finalPercentageOfAlcohol, string drinkName) { List <CocktailModel> cocktailReturnColl = new List <CocktailModel>(); CocktailModel cocktailReturn = null; List <IngredientModel> ingredientColl = null; cocktailDAO = new CocktailDAO(); ingredientsDAO = new IngredientsDAO(); if (numberOfIngridients == 0) { numberOfIngridients = 2; } if (finalPercentageOfAlcohol == 0) { finalPercentageOfAlcohol = 0.15; } ingredientColl = ingredientsDAO.ListAll(); cocktailReturn = new CocktailModel(); cocktailReturn.Name = "".Equals(drinkName) ? "New Drink" : drinkName; Random r = new Random(); for (int i = 0; i < numberOfIngridients; i++) { int x = r.Next(ingredientColl.Count); var ingridient = ingredientColl[x]; if (cocktailReturn.OrderIngredient == null) { cocktailReturn.OrderIngredient = new List <IngredientModel>(); cocktailReturn.OrderIngredient.Add(ingridient); } else { if (cocktailReturn.OrderIngredient.Exists(item => item.Name == "Champagne")) { if (ingridient.Name.Equals("Campari")) { cocktailReturn.OrderIngredient.Add(ingredientColl.Single(item => item.Name != "Campari")); } } else if (cocktailReturn.OrderIngredient.Exists(item => item.Name == "Campari")) { { if (ingridient.Name.Equals("Champagne")) { cocktailReturn.OrderIngredient.Add(ingredientColl.Single(item => item.Name != "Champagne")); } } } else { cocktailReturn.OrderIngredient.Add(ingridient); } } } if (Util.Utils.SumAlcohol(cocktailReturn.OrderIngredient) <= finalPercentageOfAlcohol) { cocktailReturn.HexadecimalColor = Util.Utils.GetHexaDrink(cocktailReturn.OrderIngredient); cocktailReturn.PercentageOfAlcohol = Util.Utils.SumAlcohol(cocktailReturn.OrderIngredient); cocktailReturnColl.Add(cocktailReturn); } return(cocktailReturnColl); }