public IHttpActionResult PostValuesToBill(int billId, List <SpecificFieldValueDTO> values) { try { if (validator.validate((Request.Headers.GetValues("Authorization").FirstOrDefault()), UserRole.Administrator) || validator.validate((Request.Headers.GetValues("Authorization").FirstOrDefault()), UserRole.Cashier)) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { if (!billService.AddValuesToBill(billId, values)) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No existe la factura especificada"))); } return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.OK, "Se ingresaron correctamente "))); } catch (NotFoundException ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex.Message))); } catch (PaymentAlreadyRegisteredException ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message))); } catch (WrongDataTypeException ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message))); } } else { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No posee los permisos necesarios"))); } } catch (InvalidOperationException) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Debe ingresar el header Authorization"))); } }