/** * Store a newly created resource in storage. * * @return Response */ public function store() { $validator = Validator::make(Input::all(), Distributions::$rules); if ($validator->passes()) { foreach (Input::get('cart') as $productId => $item) { $distribution = new Distributions(); $distribution->product_id = $productId; $distribution->outlet_id = Input::get('outlet_id'); $distribution->quantity = $item['quantity']; $distribution->in_stock = $item['quantity']; $distribution->save(); $product = Products::find($productId); $product->quantity = $product->quantity - $distribution->quantity; $product->save(); $outletsstocks = OutletsStocks::where('product_id', '=', $productId)->where('outlet_id', '=', Input::get('outlet_id'))->first(); if ($outletsstocks) { $outletsstocks->quantity = $outletsstocks->quantity + $item['quantity']; $outletsstocks->save(); } else { $outletsstocks = new OutletsStocks(); $outletsstocks->product_id = $productId; $outletsstocks->quantity = $item['quantity']; $outletsstocks->outlet_id = Input::get('outlet_id'); $outletsstocks->save(); } } return Redirect::route('distributions.create')->with('success', 'New distribution sent'); } else { return Redirect::route('distributions.create')->withErrors($validator)->withInput(Input::all()); } }