//End of Pre-Load public async Task CreateCocktailAsync(string name, string description, string[] primaryIngredients, string[] ingredients, byte[] photo) { if (primaryIngredients == null) { throw new ArgumentNullException("Primary ingredients list cannot be null."); } if (String.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException("Cocktail name cannot be null or whitespace."); } var cocktail = new Cocktail() { Name = name, Description = description, AverageRating = 0, Hidden = 0 }; await dbContext.Cocktails.AddAsync(cocktail); var cocktailPhoto = new CocktailPhoto() { CocktailCover = photo, Cocktail = cocktail }; await dbContext.CocktailPhotos.AddAsync(cocktailPhoto); await dbContext.SaveChangesAsync(); foreach (var item in primaryIngredients.Where(p => !String.IsNullOrEmpty(p))) { if (!await iService.CheckIfIngredientExistsAsync(item, 1)) { await iService.CreateIngredientAsync(item, 1); } await AddIngredientToCocktailAsync(cocktail.Name, item.ToLower(), 1); } foreach (var item in (ingredients ?? new string[0]).Where(p => !String.IsNullOrEmpty(p))) { if (!await iService.CheckIfIngredientExistsAsync(item, 0)) { await iService.CreateIngredientAsync(item, 0); } await AddIngredientToCocktailAsync(cocktail.Name, item.ToLower(), 0); } }
public void CreateCocktail(string name, string description, string[] ingredients, byte[] photo) { var cocktail = new Cocktail() { Name = name, Description = description, AverageRating = 0, Hidden = 0 }; dbContext.Cocktails.Add(cocktail); var cocktailPhoto = new CocktailPhoto() { CocktailCover = photo, Cocktail = cocktail }; dbContext.CocktailPhotos.Add(cocktailPhoto); dbContext.SaveChanges(); var ingCounter = 0; foreach (var item in ingredients) { if (!dbContext.Ingredients.Where(p => p.Name.ToLower() == item.ToLower()).Any()) { if (ingCounter == 0) { iService.CreateIngredient(item, 1); } else { iService.CreateIngredient(item, 0); } } ingCounter++; AddIngredientToCocktail(cocktail.Name, item.ToLower()); } }