public ActionResult <Consumption> Post(ConsumptionRequest request) { string loggedUser = User.FindFirstValue("userId"); if (loggedUser == null) { return(Unauthorized()); } ValidationResult result = validator.Validate(request); if (!result.IsValid) { return(BadRequest(new ValidationSummary(result))); } try { Consumption consumption = consumptionService.CreateConsumption(request); if (consumption == null) { return(StatusCode(500)); } return(CreatedAtAction(nameof(Get), null, consumption)); } catch (SkrillaApiException e) { if ("not_found".Equals(e.Code)) { return(NotFound()); } else { return(BadRequest(e.Message)); } } }