/** * * @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; } }