/** * *Cambiar los atributos de una categoria especifica. * * @param id int El ID de la cateforia a editar. * @param activa bool El nuevo estado de la categoria especificada. * @param descripcion string La nueva descripcion de la categoria especificada. * @param id_padre int El ID del nuevo padre de la categoria especificada. * @param nombre string El nuevo nombre de la categoria especificada. **/ public static function EditarCategoria($id, $activa = null, $descripcion = null, $id_padre = null, $nombre = null) { $categoria = CategoriaContactoDAO::getByPK($id); if (!is_null($activa)) { $categoria->setActiva($activa); } if (!is_null($descripcion)) { $categoria->setDescripcion($descripcion); } if (!is_null($id_padre)) { $categoria->setIdPadre($id_padre); } if (!is_null($nombre)) { $categoria->setNombre($nombre); } if (CategoriaContactoDAO::ChecarRecursion($categoria->getId(), $categoria->getIdPadre())) { try { ContabilidadController::EditarNombreCuentasCategoriaContactos($id, $categoria->nombre, $categoria->id_padre); CategoriaContactoDAO::save($categoria); } catch (Exception $e) { throw new Exception("Error al modificar categoria, verifique sus datos.", 901); } } else { throw new Exception("Una categoria no puede ser hija de otra categoria descendiente, verifique sus datos.", 901); } }
private function guardar($categoria) { $id = $categoria->getId(); $id_padre = $categoria->getIdPadre(); if (CategoriaContactoDAO::ChecarRecursion($id, $id_padre)) { CategoriaContactoDAO::save($categoria); } }