示例#1
0
 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")));
     }
 }