//Display One Meal
        public ActionResult ViewMealDetails(int id)
        {
            MealDAO       MealDBInterface      = new MealDAO();
            MealViewModel MealWithDetailsShown = MealDBInterface.FetchMeal(id);

            return(View("Details", MealWithDetailsShown));
        }
        public ActionResult EditMeal(int id)
        {
            var MealDBInterface = new MealDAO();
            var MealToEdit      = new MealViewModel();

            MealToEdit = MealDBInterface.FetchMeal(id);
            return(View("MealForm", MealToEdit));
        }
        //Edit Meal
        public ActionResult UpdateMeal(MealViewModel mealToUpdate)
        {
            var MealDBInterface = new MealDAO();
            var mealToUpdateID  = mealToUpdate.Id;
            var mealToDisplay   = new MealViewModel();

            MealDBInterface.UpdateMeal(mealToUpdate);
            mealToDisplay = MealDBInterface.FetchMeal(mealToUpdateID);
            return(View("MealForm", mealToDisplay));
        }
        //Edit MealIngredient
        public ActionResult ProcessMealIngredientToEdit(MealIngredientViewModel ingredientToEdit)
        {
            var MealDBInterface = new MealDAO();
            var mealId          = ingredientToEdit.MealId;

            MealDBInterface.UpdateMealIngredient(ingredientToEdit);
            var mealToDisplay = new MealViewModel();

            mealToDisplay = MealDBInterface.FetchMeal(mealId);
            return(View("MealForm", mealToDisplay));
        }
        //Remove MealIngredient from Meal
        public ActionResult RemoveMealIngredient(int id)
        {
            var MealDBInterface    = new MealDAO();
            var ingredientToDelete = MealDBInterface.FetchMealIngredient(id);
            var mealId             = ingredientToDelete.MealId;

            MealDBInterface.DeleteMealIngredient(id);
            var mealToDisplay = new MealViewModel();

            mealToDisplay = MealDBInterface.FetchMeal(mealId);
            return(View("MealForm", mealToDisplay));
        }
        public ActionResult AddMealIngredientToMeal(MealIngredientViewModel ingredientToAdd)
        {
            var MealDBInterface = new MealDAO();
            var mealId          = ingredientToAdd.MealId;

            if (MealDBInterface.ingredientAlreadyInMeal(ingredientToAdd))
            {
                ModelState.AddModelError("CustomError", "Ingredient already in Fridge");
                return(View());
            }
            else
            {
                MealDBInterface.AddIngredientToMeal(ingredientToAdd);
            }

            var mealToDisplay = new MealViewModel();

            mealToDisplay = MealDBInterface.FetchMeal(mealId);
            return(View("Mealform", mealToDisplay));
        }