with('so', $so); } /** * Store shipping order item. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ //post shipping order amd item public function store(Request $request) { //TODO // retrieve FK from Contact, Delivery, Warehouse //user()->company()->id, //here is what i did to figure out whether the id is belongs to user //$booking = Booking::where('user_id', Auth::user())->where('id', $book_id)->firstOrFail(); $so = new So; $so = So::where('ff_id', $id)->firstOrFail(); $so->supplier_company_name = $request->input('supplier_company_name'); $so->supplier_contact_person = $request->input('supplier_contact_person'); $so->supplier_contact_person_no = $request->input('supplier_contact_person_no'); // $so = So::where('delivery_id', $id)->firstOrFail(); // $so = So::where('warehouse_id', $id)->firstOrFail(); $so = So::where('user_id', Auth::user()->id)->where('com_id', $id)->first(); $so->save(); $soitems = $request->input('soitem'); foreach ($soitems as $soitem) { $new_soitem = new Soitem(array( 'so_id'=>$so->id, 'status'=>$soitem['status'], 'brand_no'=>$soitem['brand_no'], 'model_no'=>$soitem['model_no'], 'item_code'=>$soitem['item_code'], 'quantity_of_item'=>$soitem['quantity_of_item'], 'uom'=>$soitem['uom'], 'quantity_of_carton'=>$soitem['quantity_of_carton'], 'packaging_type'=>$soitem['packaging_type'], 'packaging_height'=>$soitem['packaging_height'], 'packaging_width'=>$soitem['packaging_width'], 'packaging_depth'=>$soitem['packaging_depth'], 'packaging_gross'=>$soitem['packaging_gross'], 'packaging_nett'=>$soitem['packaging_nett'], )); $new_soitem->save(); } return response()->json(['so'=>$so], 201); } /** *cancel the shipping order. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function cancelOrder(Request $request) { $so = So::where('user_id', Auth::user()->id)->where('id', $com_id)->firstOrFail(); $so->save(); $com_id = auth()->user->id; return response()->json(['so'=>$so],200); } /** * Update the shipping order and item. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $so = So::where('user_id', Auth::user()->id)->where('id', $com_id)->findtOrFail(); if (!$so) { return response()->json(['message'=>'shipping order not found'], 404); } $so->ff_id = $request->input('ff_id'); $so->supplier_company_name = $request->input('supplier_company_name'); $so->supplier_contact_person = $request->input('supplier_contact_person'); $so->supplier_contact_person_no = $request->input('supplier_contact_person_no'); $so->delivery_id = $request->input('delivery_id'); $so->warehouse_id = $request->input('warehouse_id'); $so->save(); $soitems = $request->input('soitem'); foreach ($soitems as $soitem) { $new_soitem = Soitem::where('so_id', $id)->first(); $new_soitem->status = $soitem['status']; $new_soitem->order_id = $soitem['order_id']; $new_soitem->brand_no = $soitem['brand_no']; $new_soitem->model_no = $soitem['model_no']; $new_soitem->item_code = $soitem['item_code']; $new_soitem->quantity_of_item = $soitem['quantity_of_item']; $new_soitem->uom = $soitem['uom']; $new_soitem->quantity_of_carton = $soitem['quantity_of_carton']; $new_soitem->packaging_type = $soitem['packaging_type']; $new_soitem->packaging_height = $soitem['packaging_height']; $new_soitem->packaging_width = $soitem['packaging_width']; $new_soitem->packaging_depth = $soitem['packaging_depth']; $new_soitem->packaging_gross = $soitem['packaging_gross']; $new_soitem->packaging_nett = $soitem['packaging_nett']; $new_soitem->save(); } return response()->json(['so'=>$so],200); } /** * Remove the shipping order and item * * @param int $id * @return \Illuminate\Http\Response */ public function delete(So $so_id) { $so_id->delete($so_id); return response()->json($so_id, 204); } }