private function pagarPresencial($paso, $post)
 {
     /*if(is_string($post)){
           $post = ($post=="true");
       }*/
     $modelPago = null;
     if ($paso === null) {
         $paso = Yii::app()->params->pagar['pasos'][2];
     }
     if (!in_array($paso, Yii::app()->params->pagar['pasosDisponibles']['presencial'])) {
         throw new CHttpException(404, 'Página solicitada no existe.');
     }
     $objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']];
     if (isset(Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']]) && Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] != null) {
         $modelPago = Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']];
     } else {
         $modelPago = new FormaPagoForm();
         $modelPago->identificacionUsuario = Yii::app()->user->name;
         $modelPago->consultarHorario($objSectorCiudad);
         Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
     }
     //$modelPago->setScenario($paso);
     if ($post) {
         $siguiente = Yii::app()->getRequest()->getPost('siguiente', null);
         if ($siguiente === null) {
             echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud inválida'));
             Yii::app()->end();
         }
         switch ($paso) {
             case Yii::app()->params->pagar['pasos'][2]:
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->fechaEntrega = $form->fechaEntrega;
                     $modelPago->telefonoContacto = $form->telefonoContacto;
                     $modelPago->comentario = $form->comentario;
                     $modelPago->pasoValidado[$paso] = $paso;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             case Yii::app()->params->pagar['pasos'][3]:
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 $form->bono = $modelPago->bono;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->pasoValidado[$paso] = $paso;
                     $modelPago->idFormaPago = $form->idFormaPago;
                     $modelPago->numeroTarjeta = $form->numeroTarjeta;
                     $modelPago->cuotasTarjeta = $form->cuotasTarjeta;
                     $modelPago->usoBono = $form->usoBono;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             case Yii::app()->params->pagar['pasos'][4]:
                 if ($siguiente != "finalizar") {
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 }
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->pasoValidado[$paso] = $paso;
                     $modelPago->confirmacion = $form->confirmacion;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => "Datos guardados", 'redirect' => $this->createUrl("/carro/comprar")));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             default:
                 echo CJSON::encode(array('result' => 'error', 'response' => 'Paso no detectado'));
                 break;
         }
     } else {
         //validar pasos anteriores
         $modelPago->validarPasos(Yii::app()->params->pagar['pasosDisponibles']['presencial'], $paso);
         $params = array();
         $params['paso'] = $paso;
         $nPasoActual = Yii::app()->params->pagar['pasos'][$paso];
         //$nPasoActual = ($nPasoActual<2) ? 2 : $nPasoActual;
         //$nPasoAnterior = $nPasoActual - 1;
         $nPasoAnterior = $nPasoActual - 1;
         $nPasoAnterior = $nPasoAnterior < 2 ? -1 : $nPasoAnterior;
         $nPasoSiguiente = $nPasoActual + 1;
         $pasoSiguiente = isset(Yii::app()->params->pagar['pasos'][$nPasoSiguiente]) ? Yii::app()->params->pagar['pasos'][$nPasoSiguiente] : null;
         $pasoAnterior = isset(Yii::app()->params->pagar['pasos'][$nPasoAnterior]) ? Yii::app()->params->pagar['pasos'][$nPasoAnterior] : null;
         $params['pasoAnterior'] = $pasoAnterior;
         $params['pasoSiguiente'] = $pasoSiguiente;
         if ($paso == Yii::app()->params->pagar['pasos'][2]) {
             if (isset($_POST['pos']) || $modelPago->pdvSeleccionado()) {
                 if (isset($_POST['pos'])) {
                     $indicePdv = trim($_POST['pos']);
                     $modelPago->seleccionarPdv($indicePdv);
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 }
                 $params['parametros']['listHorarios'] = $modelPago->listDataHoras();
             } else {
                 if ($modelPago->pagoExpress) {
                     $modelPago = new FormaPagoForm();
                     $modelPago->identificacionUsuario = Yii::app()->user->name;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 }
                 $modelPago->consultarDisponibilidad(Yii::app()->shoppingCart);
                 Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 $this->render('pagarPresencial', array('listPuntosVenta' => $modelPago->listPuntosVenta));
                 Yii::app()->end();
             }
             //$this->render('_paso2', $params);
         } else {
             if ($paso == Yii::app()->params->pagar['pasos'][3]) {
                 $listFormaPago = FormaPago::model()->findAll(array('order' => 'formaPago', 'condition' => 'estadoFormaPago=:estado', 'params' => array(':estado' => 1)));
                 $modelPago->consultarBono(Yii::app()->shoppingCart->getTotalCost());
                 Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 $modelPago->setScenario('pago');
                 $params['parametros']['listFormaPago'] = $listFormaPago;
                 //$params['modelPago'] = $modelPago;
                 //$params['submit'] = true;
                 //$this->render('_paso3', $params);
             } else {
                 if ($paso == Yii::app()->params->pagar['pasos'][4]) {
                     $objFormaPago = FormaPago::model()->findByPk($modelPago->idFormaPago);
                     $params['parametros']['objDireccion'] = null;
                     $params['parametros']['objFormaPago'] = $objFormaPago;
                     if ($modelPago->bono !== null && $modelPago->usoBono == 1) {
                         Yii::app()->shoppingCart->setBono($modelPago->bono['valor']);
                     }
                     $modelPago->calcularConfirmacion(Yii::app()->shoppingCart->getPositions());
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     $modelPago->setScenario('finalizar');
                     //$params['modelPago'] = $modelPago;
                     //$this->render('_paso4', $params);
                 }
             }
         }
         $params['parametros']['modelPago'] = $modelPago;
         $this->render('pasosPresencial', $params);
     }
 }
 public function actionDisponibilidad()
 {
     $formapago = new FormaPagoForm();
     //print_r($formapago->listPuntosVenta);
     $formapago->consultarDisponibilidad(Yii::app()->shoppingCart);
     echo "<br/><br/>";
     CVarDumper::dump($formapago->listPuntosVenta, 10, true);
 }