public function postStore()
 {
     if (Input::has('porcentaje_especial')) {
         $porcentaje_vendedor = Input::get('porcentaje_especial');
     } else {
         $porcentaje_comision = ComisionEsquemaVendedor::leftJoin('esquema_comision', 'comision_esquema_vendedor.esquema_comision_id', '=', 'esquema_comision.id')->where('asesor_id', Input::get('asesor_id'))->where('comision_esquema_vendedor.activo', 1)->firstOrFail();
         $porcentaje_vendedor = $porcentaje_comision->porcentaje;
     }
     $venta = new Venta();
     $venta->id = Input::get('venta_id');
     $venta->cliente_id = Input::get('cliente_id');
     $venta->folio_solicitud = Input::get('folio_solicitud');
     $venta->descuento = Input::get('descuento');
     $venta->asesor_id = Input::get('asesor_id');
     $venta->fecha = Carbon\Carbon::now();
     $venta->comentarios = Input::get('comentarios');
     $cart = Session::pull('productos', array());
     $products = array();
     $total = 0;
     $total_comision = 0;
     foreach ($cart as $item) {
         $servicio = VistaServicioFuneral::find($item['producto_id']);
         if (count($servicio) > 0) {
             $serv = VistaServicioFuneral::find($item['producto_id']);
             $total_comision = $serv->monto_comisionable * ($porcentaje_vendedor / 100);
         } else {
             $total_comision += ($item['precio'] * $item['cantidad'] - Input::get('descuento') / 1.16) * ($porcentaje_vendedor / 100);
         }
         $venta_producto = new VentaProducto();
         $venta_producto->venta_id = Input::get('venta_id');
         $venta_producto->producto_id = $item['producto_id'];
         $venta_producto->cantidad = $item['cantidad'];
         $venta_producto->precio_unitario = $item['precio'];
         $venta_producto->iva = 16;
         $venta_producto->total = $item['precio'] * $item['cantidad'] * 1.16;
         $total += $venta_producto->total;
         array_push($products, $venta_producto);
     }
     $venta->total = $total - $venta->descuento;
     $plan_pago = PlanPago::find(Input::get('plan_pago'));
     $plan_pago_venta = new PlanPagoVenta();
     $plan_pago_venta->venta_id = Input::get('venta_id');
     $plan_pago_venta->plan_pago_id = $plan_pago->id;
     $plan_pago_venta->fecha_aplicado = Carbon\Carbon::now();
     $plan_pago_venta->pago_regular = ($venta->total - $venta->total * $plan_pago->porcentaje_anticipo / 100) / $plan_pago->numero_pagos;
     $venta->save();
     $venta->ventaproducto()->saveMany($products);
     $venta->planpagoventa()->save($plan_pago_venta);
     if (!Input::has('directa') && $total_comision > 0) {
         $comision = new Comision();
         $comision->id = Input::get('venta_id');
         $comision->asesor_id = Input::get('asesor_id');
         $comision->total = $total_comision;
         $comision->total_comisionable = $total_comision;
         $comision->numero_pagos = $plan_pago->numero_comisiones;
         $comision->porcentaje = $porcentaje_vendedor;
         $venta->comision()->save($comision);
     }
     return Redirect::action('CotizacionControlador@getIndex');
 }