private ActionResult PrepareResponseAfterGetMealById(IGetMealByIdResponse response) { return(response.MealProvideResult switch { MealProvideResultEnum.Success => (ActionResult)Ok(_objectToApiModelConverter.ConvertMeal(response.Meal)), MealProvideResultEnum.NotFound => StatusCode(404), MealProvideResultEnum.Exception => StatusCode(500), MealProvideResultEnum.Forbidden => StatusCode(403), _ => throw new ArgumentOutOfRangeException() });
public async Task <ActionResult> GetMeal(Guid?id) { try { IGetMealByIdRequest request = new GetMealByIdRequest(id.GetValueOrDefault(Guid.Empty)); IGetMealByIdResponse response = await _mealsProvider.GetMealById(request); return(PrepareResponseAfterGetMealById(response)); } catch (Exception ex) { _logger.Log(ex); return(StatusCode(500)); } }