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(); } } }
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(); }