public function actionactualizacambio($moneda1, $moneda2)
 {
     $moneda = MiFactoria::cleanInput($moneda2);
     $moneda = MiFactoria::cleanInput($moneda1);
     $monedas = yii::app()->db->createCommand()->selectDistinct('codmon1')->from('{{tipocambio}}')->queryColumn();
     if (!in_array($moneda1, $monedas)) {
         throw new CHttpException(500, __CLASS__ . '   ' . __FUNCTION__ . ' ' . __LINE__ . ' ...parametro de moneda incorrecto .');
     }
     if (!in_array($moneda2, $monedas)) {
         throw new CHttpException(500, __CLASS__ . '   ' . __FUNCTION__ . ' ' . __LINE__ . ' ...parametro de moneda incorrecto .');
     }
     $model = Tipocambio::model()->find("codmon1='" . $moneda1 . "' and codmon2='" . $moneda2 . "'");
     $model->setScenario('general');
     $model->compra = yii::app()->tipocambio->getcompra($moneda2);
     $model->venta = round(1 / yii::app()->tipocambio->getventa($moneda2), 2);
     $model->monedaref = $moneda1;
     $monedasfirme = array_combine($monedas, $monedas);
     if (isset($_POST['Tipocambio'])) {
         //$model->attributes=$_POST['Tipocambio'];
         $model->attributes = $_POST['Tipocambio'];
         if ($model->validate()) {
             yii::app()->tipocambio->setcompra($model->monedaref, $model->compra);
             yii::app()->tipocambio->setventa($model->monedaref, $model->venta);
         }
         $this->redirect(array('cambio'));
     }
     $this->render('_form', array('model' => $model, 'monedas' => $monedasfirme));
 }
Exemple #2
0
 public static function TipoCambio($monedaaentregar, $monedaaobtener)
 {
     $monedaaobtener = self::cleaninput($monedaaobtener);
     $monedaaentregar = self::cleaninput($monedaaentregar);
     $modelo = Tipocambio::model()->find(" codmon1='" . $monedaaentregar . "'  and  codmon2='" . $monedaaobtener . "'");
     if (is_null($modelo)) {
         throw new CHttpException(500, __CLASS__ . ' => ' . __FUNCTION__ . ' oNO se ha encontrado el cambio de estas monedas :' . $monedaaentregar . "           " . $monedaaobtener . "     ");
     }
     return $modelo->cambio;
 }
Exemple #3
0
 public function setventa($moneda, $valorventa)
 {
     if ($this->getCompra($moneda) >= $valorventa and time() - $this->lastupdateventa($moneda) < 60 * 5) {
         throw new CHttpException(500, __CLASS__ . ' ' . __FUNCTION__ . '  ' . __LINE__ . '  El valor de  la venta de la moneda ' . $moneda . '  no puede ser menor que la compra ');
     }
     $citer = new CDBCriteria();
     $citer->addCondition("codmon1=:monedadef AND codmon2=:monedaacomprar");
     $citer->params = array(":monedadef" => $this->monedadefault, ":monedaacomprar" => $moneda);
     $venta = Tipocambio::model()->find($citer);
     if (is_null($venta)) {
         throw new CHttpException(500, __CLASS__ . ' ' . __FUNCTION__ . '  ' . __LINE__ . '  No se ha registrado tipo de cambio compra para la moneda ' . $moneda);
     }
     $venta->setScenario('analitica');
     $venta->setAttributes(array('cambio' => 1 / $valorventa, 'ultima' => date('Y-m-d H:i:s')));
     $venta->validate();
     if (count($venta->geterrors()) > 0) {
         //print_r($venta->geterrors());
         //yii::app()->end();
         throw new CHttpException(500, __CLASS__ . ' ' . __FUNCTION__ . '  ' . __LINE__ . '  No se ha podido registrar la compra de la moneda ' . $moneda . '  Revise el valor del cambio ');
     }
     return $venta->save();
 }
 public function actionColocatipocambio()
 {
     //$model=new Tipocambio();
     //$vaccion=$_GET['maccion'];
     //$vcontrolador=$_GET['mcontrolador'];
     //$url=Yii::app()->baseUrl.DIRECTORY_SEPARATOR.$vcontrolador.DIRECTORY_SEPARATOR.$vaccion;
     $monedaalterna = Yii::app()->params['monedaalternativa'];
     $model = Tipocambio::model()->find("codmon2='" . $monedaalterna . "'");
     $model->setScenario('insert');
     $model->compra = yii::app()->tipocambio->getcompra($monedaalterna);
     $model->venta = round(1 / yii::app()->tipocambio->getventa($monedaalterna), 2);
     // $this->performAjaxValidation($model);
     if (isset($_POST['Tipocambio'])) {
         $model->attributes = $_POST['Tipocambio'];
         if ($model->validate()) {
             yii::app()->tipocambio->setcompra('USD', $model->compra);
             yii::app()->tipocambio->setventa('USD', $model->venta);
             echo CHtml::script("window.parent.\$('#cru-dialoggeneral').dialog('close');\n\t\t\t\t\t\t\t\t\t\twindow.parent.\$('#cru-framegeneral').attr('src','');\n\t\t\t\t\t\t\t\t\t\twindow.parent.\$('#zonaventa').html('{$model->venta}');\n\t\t\t\t\t\t\t\t\t\twindow.parent.\$('#zonaultima').html('{$model->ultima}');\n\t\t\t\t\t\t\t\t\t\twindow.parent.\$('#zonacompra').html('{$model->compra}');");
             Yii::app()->end();
         }
     }
     //	if (!empty($_GET['asDialog']))
     $this->layout = '//layouts/iframe';
     $this->render('_form_tipocambio', array('model' => $model));
 }
Exemple #5
0
 public function cambiomoneda($monedainicial, $monedadestino)
 {
     $modelmoneda = Tipocambio::model()->find(" codmon1='" . $monedainicial . "' and codmon2='" . $monedadestino . "' ");
     if (!is_null($modelmoneda)) {
         return $modelmoneda->numerador / $modelmoneda->denominador;
     } else {
         throw new CHttpException(404, 'No se ha encontrado el tipo de cambio');
     }
 }