예제 #1
0
 public function createSalePackage(VentaCompletaTO $ventaCompletaTO)
 {
     $em = $this->getEntityManager();
     $venta = new Venta();
     $personalData = $em->getRepository('VisitaYucatanBundle:Datospersonales')->createPersonalData($ventaCompletaTO);
     $em->persist($personalData);
     $dataLocation = $em->getRepository('VisitaYucatanBundle:Datosubicacion')->createDataLocation($ventaCompletaTO);
     $em->persist($dataLocation);
     $dataReservation = $em->getRepository('VisitaYucatanBundle:DatosReserva')->createDataReserva($ventaCompletaTO->getHotelPickup(), $ventaCompletaTO->getCheckIn(), null);
     $em->persist($dataReservation);
     $datosPago = $em->getRepository('VisitaYucatanBundle:DatosPago')->createDatosPago();
     $em->persist($datosPago);
     $datosVuelo = $em->getRepository('VisitaYucatanBundle:DatosVuelo')->createDatosVuelo($ventaCompletaTO);
     $em->persist($datosVuelo);
     $venta->setDatosPersonales($personalData);
     $venta->setDatosUbicacion($dataLocation);
     $venta->setDatosReserva($dataReservation);
     $venta->setDatosPago($datosPago);
     $venta->setDatosVuelo($datosVuelo);
     $venta->setFechaVenta(new \DateTime());
     $venta->setEstatus($em->getReference('VisitaYucatanBundle:Estatus', Estatuskeys::ESTATUS_ACTIVO));
     $venta->setIdioma($em->getReference('VisitaYucatanBundle:Idioma', $ventaCompletaTO->getIdIdioma()));
     $venta->setMoneda($em->getReference('VisitaYucatanBundle:Moneda', $ventaCompletaTO->getIdMoneda()));
     $venta->setTipoCambio($ventaCompletaTO->getTipoCambio());
     $venta->setSubtotal($ventaCompletaTO->getCostoTotal());
     //TODO recordar el el total se debe guardar en mxn, si esta en otra moneda convertir antes
     $venta->setTotal($ventaCompletaTO->getCostoTotal());
     $em->persist($venta);
     $em->flush();
     $em->getRepository('VisitaYucatanBundle:VentaDetalle')->createVentaDetallePackage($ventaCompletaTO, Generalkeys::TIPO_PRODUCTO_PAQUETE, $venta->getId());
     return $venta->getId();
 }
예제 #2
0
 public static function getVentaCompleteTOPackage(Venta $venta, Paquete $package)
 {
     $ventaCompletaTO = new VentaCompletaTO();
     $ventaCompletaTO->setIdVenta($venta->getId());
     $ventaCompletaTO->setCostoTotal($venta->getTotal());
     $ventaCompletaTO->setNombrePaquete($package->getDescripcion());
     $ventaCompletaTO->setCircuito($package->getCircuito());
     $ventaCompletaTO->setHotelPickup($venta->getVentaDetalle()->get(0)->getHotel()->getDescripcion());
     $ventaCompletaTO->setNumeroAdultos($venta->getVentaDetalle()->get(0)->getNumeroAdultos());
     $ventaCompletaTO->setNumeroMenores($venta->getVentaDetalle()->get(0)->getNumeroMenores());
     $ventaCompletaTO->setNombres($venta->getDatosPersonales()->getNombres());
     $ventaCompletaTO->setApellidos($venta->getDatosPersonales()->getApellidos());
     $ventaCompletaTO->setLada($venta->getDatosUbicacion()->getLada());
     $ventaCompletaTO->setTelefono($venta->getDatosUbicacion()->getTelefono());
     $ventaCompletaTO->setEmail($venta->getDatosUbicacion()->getEmail());
     $ventaCompletaTO->setCiudad($venta->getDatosUbicacion()->getCiudad());
     $dias = $package->getPaqueteIdioma()->get(0)->getDias();
     $ventaCompletaTO->setDiasPaquete($package->getPaqueteIdioma()->get(0)->getDias());
     $ventaCompletaTO->setNochePaquete((int) $dias - 1);
     $ventaCompletaTO->setCheckIn($venta->getDatosReserva()->getCheckIn());
     $ventaCompletaTO->setPagado($venta->getDatosPago()->getPagado());
     $ventaCompletaTO->setNumeroVoucher($venta->getDatosPago()->getNumeroVoucher());
     $ventaCompletaTO->setNumeroOperacion($venta->getDatosPago()->getNumeroOperacion());
     $ventaCompletaTO->setNumeroAutorizacion($venta->getDatosPago()->getNumeroAutorizacion());
     $ventaCompletaTO->setTipoTarjeta($venta->getDatosPago()->getTipoTarjeta());
     return $ventaCompletaTO;
 }