Exemplo n.º 1
0
        public ViewResult NewMeal()
        {
            //get a list of the meal types first
            var mealTypes = _context.MealTypes.ToList();
            var viewModel = new MealFromViewModel
            {
                MealTypes = mealTypes
            };


            return(View("MealForm", viewModel));
        }
Exemplo n.º 2
0
        public ActionResult Edit(int id)
        {
            var meal = _context.Meals.SingleOrDefault(m => m.Id == id);

            if (meal == null)
            {
                return(HttpNotFound()); //standard 404 error
            }
            var MealViewModel = new MealFromViewModel()
            {
                MealTypes = _context.MealTypes.ToList()
            };

            return(View("MealForm", MealViewModel));
        }
Exemplo n.º 3
0
        public ActionResult Save(Meal meal)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new MealFromViewModel
                {
                    MealTypes = _context.MealTypes.ToList()
                };
                return(View("MealFrom", viewModel));
            }
            if (meal.Id == 0)
            {
                //in memory only
                meal.DatePosted = DateTime.Now;

                _context.Meals.Add(meal);
            }

            else
            {
                var mealDbContext = _context.Meals.Single(m => m.Id == meal.Id);
                mealDbContext.Name        = meal.Name;
                mealDbContext.MealTypeID  = meal.MealTypeID;
                mealDbContext.Description = meal.Description;
                mealDbContext.DatePosted  = meal.DatePosted;
            }

            try
            {
                _context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                Console.WriteLine(e);
            }


            //rederict user back to list of meals
            //"Index" in Meals Controller
            return(RedirectToAction("Index", "Meals"));
        }