Ejemplo n.º 1
0
 public function generate($params)
 {
     if ($this->isProduct()) {
         $objprecio = new PrecioProducto($this->objProducto, $params['objSectorCiudad'], $params['codigoPerfil']);
         $this->listBeneficios = $objprecio->getBeneficios();
         $this->priceUnit = $objprecio->getPrecio(Precio::PRECIO_UNIDAD, false);
         $this->priceFraction = $objprecio->getPrecio(Precio::PRECIO_FRACCION, false);
         $this->discountPriceUnit = $objprecio->getAhorro(Precio::PRECIO_UNIDAD);
         $this->discountPriceFraction = $objprecio->getAhorro(Precio::PRECIO_FRACCION);
         $this->tax = $this->objProducto->objImpuesto->porcentaje;
         $this->shipping = $objprecio->getFlete();
         $this->delivery = $objprecio->getTiempoEntrega();
     } else {
         if ($this->isCombo()) {
             $objprecio = new PrecioCombo($this->objCombo);
             $this->priceUnit = $objprecio->getPrecio();
         }
     }
 }
Ejemplo n.º 2
0
 public function actionSubtotalCombo()
 {
     $combo = Yii::app()->getRequest()->getPost('codigo');
     $cantidad = Yii::app()->getRequest()->getPost('cantidad');
     if ($combo == null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta producto'));
         Yii::app()->end();
     }
     if ($cantidad == null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta cantidad'));
         Yii::app()->end();
     }
     $objSectorCiudad = null;
     if (isset(Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']])) {
         $objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']];
     }
     if ($objSectorCiudad == null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'No se detecta ubicación'));
         Yii::app()->end();
     }
     $fecha = new DateTime();
     $objCombo = Combo::model()->find(array('with' => array('listProductos', 'listProductosCombo', 'listComboSectorCiudad'), 'condition' => 't.idCombo=:combo AND t.estadoCombo=:estado AND t.fechaInicio<=:fecha AND t.fechaFin>=:fecha AND listComboSectorCiudad.saldo>:saldo AND listComboSectorCiudad.codigoCiudad=:ciudad AND listComboSectorCiudad.codigoSector=:sector', 'params' => array(':combo' => $combo, ':estado' => 1, ':fecha' => $fecha->format('Y-m-d H:i:s'), ':saldo' => 0, ':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector)));
     if ($objCombo === null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Producto no disponible'));
         Yii::app()->end();
     }
     $objPrecio = new PrecioCombo($objCombo);
     $valor = $objPrecio->getPrecio() * $cantidad;
     $valorFormato = Yii::app()->numberFormatter->format(Yii::app()->params->formatoMoneda['patron'], $valor, Yii::app()->params->formatoMoneda['moneda']);
     echo CJSON::encode(array('result' => 'ok', 'response' => array('valor' => $valor, 'valorFormato' => $valorFormato)));
     Yii::app()->end();
 }