private function guardarItems($idFactura)
 {
     try {
         if (Session::has('carrito')) {
             $carrito = Session::get('carrito');
             if (empty($carrito)) {
                 $filasAfectadas = FacturaItem::where('factura_id', '=', $idFactura)->delete();
                 return false;
             }
             foreach ($carrito as $item) {
                 $fi = new FacturaItem();
                 $fi->factura_id = $idFactura;
                 $fi->articulo_id = $item['articulo']->id;
                 $fi->cantidad = $item['cantidad'];
                 $fi->precio = $item['articulo']->precio;
                 $fi->iva = $item['articulo']->iva;
                 $fi->save();
             }
             return true;
         }
     } catch (Exception $e) {
         $filasAfectadas = FacturaItem::where('factura_id', '=', $idFactura)->delete();
         return false;
     }
 }
Beispiel #2
0
 public function postPurchaseAndNewDir()
 {
     if (Cart::count() < 1) {
         Session::flash('danger', 'Error, no posee articulos en el carrito');
         return Redirect::back();
     }
     $input = Input::all();
     $rules = array('email' => 'required|email', 'dir' => 'required');
     $msg = array('required' => 'Campo requerido', 'email' => 'El campo debe ser un email');
     $validator = Validator::make($input, $rules, $msg);
     if ($validator->fails()) {
         Redirect::back()->withError($validator)->withInput();
     }
     $dir = new Dir();
     $dir->user_id = Auth::user()->id;
     $dir->email = $input['email'];
     $dir->dir = $input['dir'];
     if ($dir->save()) {
         $fac = new Facturas();
         $fac->user_id = Auth::user()->id;
         $fac->dir = $dir->id;
         if ($fac->save()) {
             foreach (Cart::content() as $c) {
                 $misc = Misc::find($c->options['misc']);
                 $misc->item_stock = $misc->item_stock - $c->qty;
                 $misc->save();
                 $itemFac = new FacturaItem();
                 $itemFac->factura_id = $fac->id;
                 $itemFac->item_id = $c->id;
                 $itemFac->item_qty = $c->qty;
                 $itemFac->item_talla = $c->options['talla'];
                 $itemFac->item_color = $c->options['color'];
                 $itemFac->item_precio = $c->price;
                 $itemFac->save();
             }
             Cart::destroy();
             return Redirect::to('compra/procesar/' . $fac->id);
         }
     }
 }