예제 #1
0
 /**
  * 
  * @param int $pedido_cab_id
  * @param int $pedido_det_sec
  * @throws Exception
  * @return number
  */
 public function eliminarPorPedidoCabIdPorPedidoDetSec($pedido_cab_id, $pedido_det_sec)
 {
     $PedidoDetDAO = new PedidoDetDAO();
     $PedidoCabDAO = new PedidoCabDAO();
     $this->getEntityManager()->getConnection()->beginTransaction();
     try {
         $PedidoCabDAO->setEntityManager($this->getEntityManager());
         $PedidoDetDAO->setEntityManager($this->getEntityManager());
         //Se elimina primera la oferta vinculada
         $respuesta = $PedidoDetDAO->eliminarOferta($pedido_cab_id, $pedido_det_sec);
         //Se elimina el detalle del pedido
         $respuesta = $PedidoDetDAO->eliminar($pedido_cab_id, $pedido_det_sec);
         $nro_regs_det = $PedidoDetDAO->consultarNroItemsPorPedido($pedido_cab_id);
         //Si no tiene registro borra la cabecera del pedido
         if (empty($nro_regs_det)) {
             $PedidoCabDAO = $PedidoCabDAO->eliminar($pedido_cab_id);
         }
         //end if
         $this->getEntityManager()->getConnection()->commit();
         return $nro_regs_det;
     } catch (Exception $e) {
         $this->getEntityManager()->getConnection()->rollback();
         $this->getEntityManager()->close();
         throw $e;
     }
 }