예제 #1
0
        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));
        }
예제 #2
0
        public IActionResult Add()
        {
            AddBreadViewModel addBreadViewModel = new AddBreadViewModel();

            return(View(addBreadViewModel));
        }