public function actionFinalizarPedido()
 {
     $this->layout = 'sitio';
     if (isset($_SESSION['Cliente'])) {
         if (count($_SESSION['carro']) > 0) {
             $pedido = new Pedido();
             $direccion = Direccion::model()->with('comuna')->findByPk($_POST['Pedido']['direcciones']);
             $formaPago = FormaPago::model()->findByPk($_POST['Pedido']['formaPago']);
             $tipoDocumento = TipoDocumento::model()->findByPk($_POST['Pedido']['tiposDocumento']);
             $pedido->pedido_fecha = new CDbExpression('NOW()');
             $pedido->pedido_cliente_nombre = $_SESSION['Cliente']['cliente_nombre'];
             $pedido->pedido_cliente_direccion = $direccion->direccion_descripcion;
             $pedido->pedido_cliente_comuna = $direccion->comuna->comuna_nombre;
             $pedido->pedido_cliente_telefono = $_SESSION['Cliente']['cliente_telefono'];
             $pedido->pedido_cliente_telefono_movil = $_SESSION['Cliente']['cliente_telefono_movil'];
             $pedido->pedido_total = $_SESSION['total_carro'];
             $pedido->cliente_id = $_SESSION['Cliente']['cliente_id'];
             $pedido->forma_pago_id = $formaPago->forma_pago_id;
             $pedido->tipo_documento_id = $tipoDocumento->tipo_documento_id;
             if ($pedido->save()) {
                 Yii::app()->user->setFlash('pedidoRealizadoCorrecto', "¡Gracias por comprar!<br/>Tu pedido es el número: #" . str_pad($pedido->pedido_id, 10, "0", STR_PAD_LEFT) . "<br />Recibirás un e-mail con los detalles de tu pedido.");
                 foreach ($_SESSION['carro'] as $key => $producto) {
                     $pedidoDetalle = new PedidoDetalle();
                     $pedidoDetalle->producto_codigo = $producto['producto_codigo'];
                     $pedidoDetalle->pedido_detalle_descripcion = $producto['producto_nombre'];
                     $pedidoDetalle->pedido_detalle_precio = $producto['producto_precio'];
                     $pedidoDetalle->pedido_detalle_cantidad = $producto['producto_cantidad'];
                     $pedidoDetalle->pedido_detalle_total = $producto['producto_precio'] * $producto['producto_cantidad'];
                     $pedidoDetalle->pedido_id = $pedido->pedido_id;
                     $pedidoDetalle->producto_id = $producto['producto_id'];
                     $pedidoDetalle->save();
                 }
                 unset($_SESSION['carro']);
                 $_SESSION['carro'] = array();
             } else {
                 //echo "<pre>"; print_r($pedido->getErrors()); echo "</pre>";
                 Yii::app()->user->setFlash('pedidoRealizadoError', "No es posible realizar tu pedido en este momento, favor intenta más tarde.");
             }
         } else {
             Yii::app()->user->setFlash('pedidoCarroVacio', "No es posible realizar tu pedido en este momento, agrega productos a tu carro.");
         }
     }
     $this->render('finalizarPedido');
 }
 public function pedidoexistente($id)
 {
     if ($id == 0) {
         $idpro = json_decode(Input::get('aInfo'));
         $formapago = Input::get('formapago');
         $msjeria = Input::get('msjeria');
         $cotizar = Input::get('cotizar');
         $idusuario = Auth::user()->id;
         $resp = DB::table('cliente')->where('usuario_id', $idusuario)->pluck('id');
         $clienteformapago = new ClienteFormaPago();
         $clienteformapago->cliente_id = $resp;
         $clienteformapago->forma_pago_id = $formapago;
         $clienteformapago->save();
         $mensajeria = new Mensajeria();
         $mensajeria->id = Input::get('id');
         $mensajeria->nombre = $msjeria;
         $mensajeria->save();
         $pedido = new Pedido();
         $pedido->cliente_id = $resp;
         $pedido->mensajeria_id = $mensajeria['id'];
         $pedido->direccion_cliente_id = " ";
         $pedido->forma_pago_id = $formapago;
         $pedido->num_pedido = date('Y') . date('m') . date("d") . $resp . $mensajeria['id'];
         $pedido->fecha_registro = date('Y-m-d');
         $pedido->cotizar_envio = $cotizar;
         $pedido->observaciones = " ";
         $pedido->save();
         for ($i = 0; $i < count($idpro); $i++) {
             $p_detalle = new PedidoDetalle();
             $p_detalle->pedido_id = $pedido['id'];
             $p_detalle->producto_id = $idpro[$i]->idp;
             $p_detalle->cantidad = $idpro[$i]->cant;
             $p_detalle->save();
         }
     } else {
         $idpro = json_decode(Input::get('aInfo'));
         $idusuario = Auth::user()->id;
         $resp = DB::table('cliente')->where('usuario_id', $idusuario)->pluck('id');
         $formapago = Input::get('formapago');
         $msjeria = Input::get('msjeria');
         $cotizar = Input::get('cotizar');
         $clienteformapago = new ClienteFormaPago();
         $clienteformapago->cliente_id = $resp;
         $clienteformapago->forma_pago_id = $formapago;
         $clienteformapago->save();
         $mensajeria = new Mensajeria();
         $mensajeria->id = Input::get('id');
         $mensajeria->nombre = $msjeria;
         $mensajeria->save();
         $pedido = new Pedido();
         //$pedido->id = Input::get('id');
         $pedido->cliente_id = $resp;
         $pedido->mensajeria_id = $mensajeria['id'];
         $pedido->direccion_cliente_id = $id;
         $pedido->forma_pago_id = $formapago;
         $pedido->num_pedido = date('Y') . date('m') . date("d") . $mensajeria['id'] . $resp;
         $pedido->fecha_registro = date('Y-m-d');
         $pedido->cotizar_envio = $cotizar;
         $pedido->observaciones = " ";
         $pedido->save();
         for ($i = 0; $i < count($idpro); $i++) {
             $p_detalle = new PedidoDetalle();
             $p_detalle->pedido_id = $pedido['id'];
             $p_detalle->producto_id = $idpro[$i]->idp;
             $p_detalle->cantidad = $idpro[$i]->cant;
             $p_detalle->save();
         }
     }
     return Response::json($pedido['id']);
 }
 /**
  * Displays a particular model.
  * @param integer $id the ID of the model to be displayed
  */
 public function actionView($id)
 {
     $pedidoDetalle = PedidoDetalle::model()->findAll('pedido_id = ' . $id);
     $this->render('view', array('model' => $this->loadModel($id), 'pedidoDetalle' => $pedidoDetalle));
 }