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; } }
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); } } }