Пример #1
0
        public async Task <IActionResult> AddMeal([FromBody] CreateMealViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var meal   = mapper.Map <CreateMealViewModel, Meal>(viewModel);
            var userId = userService.GetCurrentUserId(HttpContext);

            meal.UserID = userId;

            var response = await mealService.Create(meal).ConfigureAwait(false);

            if (!response.IsSuccess)
            {
                return(BadRequest(response.Message));
            }

            var userMealsResponse = await mealService.GetUserMeals(userId).ConfigureAwait(false);

            if (!userMealsResponse.IsSuccess)
            {
                return(BadRequest(userMealsResponse.Message));
            }

            var userMealsViewModel = mapper.Map <IEnumerable <Meal>, IEnumerable <MealViewModel> >(userMealsResponse.MealsFound);

            return(Ok(userMealsViewModel));
        }