/** * *Este metodo cambia la informacion de una categoria de producto * * @param id_clasificacion_producto int Id de la categoria del producto * @param activa bool Estado de la categoria. * @param descripcion string Descripcion larga de la categoria * @param id_categoria_padre int Id de la categora padre en caso de tenerla * @param nombre string Nombre de la categoria del producto **/ public static function EditarCategoria($id_clasificacion_producto, $activa = null, $descripcion = null, $id_categoria_padre = null, $nombre = null) { $categoria = ClasificacionProductoDAO::getByPK($id_clasificacion_producto); if (!is_null($activa)) { $categoria->setActiva($activa); } if (!is_null($descripcion)) { $categoria->setDescripcion($descripcion); } if (!is_null($nombre)) { $categoria->setNombre($nombre); } if (!is_null($id_categoria_padre)) { echo "......" . $id_categoria_padre; $categoria->setIdCategoriaPadre($id_categoria_padre); if (ClasificacionProductoDAO::ChecarRecursion($categoria->getIdClasificacionProducto(), $categoria->getIdCategoriaPadre())) { try { ClasificacionProductoDAO::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); } } }