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