public MealModel Post([FromBody] MealRequest request)
 {
     if (request.MealId > 0)
     {
         _mealService.EditMeal(_loggedInUser, request);
     }
     else
     {
         request.MealId = _mealService.AddMeal(_loggedInUser, request);
     }
     return(_mealService.GetMeal(_loggedInUser, request.UserId, request.MealId));
 }
        public async Task <IActionResult> EditMeal(long id, Meal meal)
        {
            if (ModelState.IsValid)
            {
                var updatedMeal = await mealService.EditMeal(id, meal.Amount);

                return(RedirectToAction(nameof(MealController.Edit), "Meal", new { id = updatedMeal.CycleDay }));
            }
            var existingMeal = await mealService.GetMealById(id);

            return(RedirectToAction(nameof(MealController.Edit), "Meal", new { id = existingMeal.CycleDay }));
        }
        public IActionResult UpdateMeal([FromBody] MealCreateRequestDTO mealRequest)
        {
            if (mealRequest == null)
            {
                return(BadRequest("Request is null!"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("Data validation errors!"));
            }

            try
            {
                var meal = mealService.GetMealById(mealRequest.Id);
                if (meal == null)
                {
                    return(NotFound());
                }

                meal.Name            = mealRequest.Name;
                meal.Description     = mealRequest.Description;
                meal.Price           = mealRequest.Price;
                meal.GeneralPriority = mealRequest.GeneralPriority;
                meal.LocalPriority   = mealRequest.LocalPriority;
                meal.ImageUrl        = mealRequest.ImageUrl;
                meal.MealCategoryId  = mealRequest.MealCategoryId;
                meal.RestaurantId    = mealRequest.RestaurantId;
                meal.MealTypeId      = meal.MealTypeId;


                List <MealContent> mealContents = null;
                if (mealRequest.MealContents != null && mealRequest.MealContents.Any())
                {
                    mealContents = mealRequest.MealContents;
                }
                mealService.EditMeal(meal, mealContents);
                return(Ok("Meal updated!"));
            }
            catch (Exception ex)
            {
                return(BadRequest("An error occured while saving meal"));
            }
        }