public IHttpActionResult PostSupplierFields(int idSupplier, List <SupplierField> fields) { try { if (validator.validate((Request.Headers.GetValues("Authorization").FirstOrDefault()), UserRole.Administrator)) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { if (supplierService.AddSupplierfields(idSupplier, fields)) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.OK, "Los campos de los proveedores han sido ingresados correctamente"))); } return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No se encontro el proveedor especificado"))); } catch (WrongDataTypeException ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message))); } catch (NotUniqueException ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message))); } catch (NullReferenceException) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Debe ingresar todos los datos para los campos particulares"))); } catch (ArgumentNullException) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Debe ingresar todos los datos para los campos particulares"))); } catch (DbEntityValidationException) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Debe ingresar todos los datos para los campos particulares"))); } } 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"))); } }