public function save(Request $request) { $products = $request->get('products'); $stockId = $request->get('stock_id'); $customerId = $request->get('customer_id'); $salesmanId = $request->get('employee_id'); $sale = Sales::create(['stock_id' => $stockId, 'customer_id' => $customerId, 'employee_id' => $salesmanId]); /** * Precisa incrementar a quantidade de produtos no estoque pelo "ammount" */ foreach ($products as $product) { $ammount = $request->get($product . '_ammount'); $sp = StockProducts::query()->where('stock_id', $stockId)->where('product_id', $product)->first(); SalesProducts::create(['sale_id' => $sale->id, 'stock_product_id' => $sp->id, 'ammount' => $ammount]); $sp->ammount -= $ammount; $sp->save(); } return view('pages.home'); }
public function uploadMenu(Request $request) { $data = $this->postUpload($request); if (is_array($data)) { $before = Menu::count(); $sale = Sales::create(['stock_period_id' => $request->get('stock_period_id')]); foreach ($data as $item) { $menu = Menu::updateOrCreate(['number' => $item['number']], ['number' => $item['number'], 'title' => $item['title'], 'price' => $item['price']]); $data = ['quantity' => $item['quantity'], 'menu_id' => $menu->id, 'sale_id' => $sale->id, 'price' => $item['price'], 'total_price' => round($item['price'] * $item['quantity'], 2)]; SaleItems::create($data); } $difference = Menu::count() - $before; Helper::add('', 'uploaded ' . $difference . ' menu items import file on import sales action'); Session::flash('flash_message', 'Sale uploaded successfully with ' . $difference . ' new items added to menu.'); return Redirect::action('SalesController@index', ['stock_period' => $request->get('stock_period_id')]); } else { return $data; } }