public IActionResult Add(AddBreadViewModel addBreadViewModel) { if (ModelState.IsValid) { int userId = Convert.ToInt32(TempData["UserId"].ToString()); //converts the user id to an integer from tempdata //holds the list of recipe items from viewmodel List <RecipeItem> RecipeItemList = new List <RecipeItem>(); //instantiates and saves a new bread recipe Bread newBread = new Bread { Name = addBreadViewModel.Name, Instructions = addBreadViewModel.Instructions, BakeTemp = addBreadViewModel.BakeTemp, BakeTime = addBreadViewModel.BakeTime, UserID = userId, FermentTime = addBreadViewModel.FermentTime, ProofTime = addBreadViewModel.ProofTime, RecipeItems = addBreadViewModel.RecipeItems.ToList() }; context.Breads.Add(newBread); context.SaveChanges(); //loops through each recipe item in viewmodel and instantiates a new RecipeItem--Also adds said RecipeItem to a List foreach (var item in addBreadViewModel.RecipeItems) { RecipeItem newRecipeItem = new RecipeItem { RecipeIngredient = item.RecipeIngredient, RecipeMeasurement = item.RecipeMeasurement, Bread = newBread }; context.RecipeItems.Add(newRecipeItem); context.SaveChanges(); RecipeItemList.Add(newRecipeItem); } TempData["UserId"] = userId; TempData.Keep(); return(RedirectToAction($"/ViewBread/{newBread.ID}")); } return(View(addBreadViewModel)); }
public IActionResult Add() { AddBreadViewModel addBreadViewModel = new AddBreadViewModel(); return(View(addBreadViewModel)); }