public ActionResult Creator(Models.ViewModel.Creator model) { var creatorModel = cRepo.GetIngredients(); if (!ModelState.IsValid) { ViewBag.message = "The Given data doesn't meet the requirements!"; return(View(creatorModel)); } var ingredients = new List <Models.Extended.Ingredient>(); foreach (var item in model.Ingredients) { if (item.Amount > 0) { ingredients.Add(item); } } model.Ingredients = ingredients; cRepo.CreateCocktail(model); ViewBag.message = "Cocktail created successfully! We are processing your entry!"; return(View(creatorModel)); }
public Models.ViewModel.Creator GetIngredients() { Models.ViewModel.Creator creator = new Models.ViewModel.Creator(); var query = db.Ingredients.Select(ToIngredientsModel).ToList(); creator.Ingredients = query; return(creator); }
public void CreateCocktail(Models.ViewModel.Creator model) { string[] link = model.Video.Split(new string[] { "watch?v=" }, StringSplitOptions.None); string embedLink; if (link.Length == 2) { embedLink = link[0] + "embed/" + link[1]; } else { embedLink = model.Video; } Cocktail c = new Cocktail { Name = model.Name, Type = model.isLong ? "Long" : "Shot", Taste = model.Taste, Occasion = model.Occasion, Recipe = model.Recipe, Description = model.Description, Embed = embedLink, Verified = false, vote_average = 0, Total_Votes = 0, Number_of_Votes = 0 }; //c.img = new byte[model.image.ContentLength]; //model.image.InputStream.Read(c.img, 0, model.image.ContentLength); MemoryStream target = new MemoryStream(); model.image.InputStream.Position = 0; model.image.InputStream.CopyTo(target); c.img = target.ToArray(); db.Cocktails.Add(c); db.SaveChanges(); int id = c.Id; foreach (var ingredient in model.Ingredients) { db.connect_ingredient_cocktail.Add(new connect_ingredient_cocktail { CocktailID = id, IngredientID = ingredient.Id, Amount = ingredient.Amount, Unit = ingredient.UsedUnit }); db.SaveChanges(); } }