public ActionResult _AddTaskChange(Model.TaskChangesModel pModel)
 {
     if (ModelState.IsValid)
     {
         CategorieProvider categorieProvider = new CategorieProvider();
         TaskChangeDTO     taskChange        = new TaskChangeDTO();
         taskChange.task_id = pModel.task_idA;
         AttributeTypeDTO typeDTO;
         if (pModel.attribute_idA.Substring(0, 1) == "l")
         {
             taskChange.attributeList_id = pModel.attribute_idA.Substring(1);
             AttributeListDTO attributeListDTO = categorieProvider.getAttributeList(taskChange.attributeList_id).Result;
             typeDTO = categorieProvider.getAttributeType(attributeListDTO.type_id).Result;
         }
         else
         {
             taskChange.attribute_id = pModel.attribute_idA.Substring(1);
             GeneralAttributeDTO generalAttributeDTO = categorieProvider.getGeneralAttribute(taskChange.attribute_id).Result;
             typeDTO = categorieProvider.getAttributeType(generalAttributeDTO.type_id).Result;
         }
         if (!(typeDTO.reg_expr == "" || new Regex(typeDTO.reg_expr).Match(pModel.valueA).Success))
         {
             return(new HttpStatusCodeResult(404, "Error, el campo valor debe ser de tipo: " + typeDTO.type));
         }
         taskChange.operation_id = pModel.operation_idA;
         taskChange.value        = pModel.valueA.ToString();
         taskChange.userLog      = Request.Cookies["user_id"].Value;
         if (taskProvider.postTaskChange(taskChange).Result)
         {
             return(_TaskDataChangesList(taskChange.task_id));
         }
     }
     return(new HttpStatusCodeResult(404, "Error, no se puede agregar el cambio de dato"));
 }