/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { if (!$id) { return Redirect::route('distributions.index')->with('error', 'Please provide distribution id'); } $distribution = Distributions::find($id); if (empty($distribution)) { return Redirect::route('distributions.index')->with('error', 'Distribution not found'); } $outletStock = OutletsStocks::whereProductId($distribution->product_id)->first(); if ($distribution->quantity <= $outletStock->quantity) { $product = Products::find($distribution->product_id); $product->quantity += $distribution->quantity; $product->save(); $outletStock->quantity -= $distribution->quantity; $outletStock->save(); Distributions::destroy($id); return Redirect::route('distributions.index')->with('success', 'Distribution deleted successfully'); } else { return Redirect::route('distributions.index')->with('error', 'Distribution cannot be deleted as the items from this distribution are already sold.'); } }