Exemplo n.º 1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     //
     $rules = array('speices' => 'required', 'classify' => 'required', 'type' => 'required', 'condition' => 'required', 'SampleExtration' => 'required', 'ribosomalDepletion' => 'required', 'operator' => 'required', 'sender' => 'required', 'sampleNum' => 'required', 'shippingCondition' => 'required', 'salesman' => 'required_with:salesmanGetDate', 'labman' => 'required_with:labmanGetDate', 'salesmanGetDate' => 'date|required_without:labmanGetDate|required_with:salesman|before:tomorrow', 'labmanGetDate' => 'date|required_without:salesmanGetDate|required_with:labman|before:tomorrow');
     if (empty($request->get('salesmanGetDate'))) {
         $rules['sampleGetDate'] = 'required|date|before:labmanGetDate';
     } elseif (empty($request->get('labmanGetDate'))) {
         $rules['sampleGetDate'] = 'required|date|before:salesmanGetDate';
     } else {
         if ($request->get('salesmanGetDate') > $request->get('labmanGetDate')) {
             $rules['sampleGetDate'] = 'required|date|before:labmanGetDate';
         } else {
             $rules['sampleGetDate'] = 'required|date|before:salesmanGetDate';
         }
     }
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return back()->withErrors($validator)->withInput();
     }
     $extraction = Extraction::findOrFail($id);
     $extraction->update(['speices' => $request->get('speices'), 'classify' => $request->get('classify'), 'type' => $request->get('type'), 'condition' => $request->get('condition'), 'is_treatRNase' => $request->get('is_treatRNase'), 'RNAisolationMethod' => $request->get('RNAisolationMethod'), 'note' => $request->get('note'), 'SampleExtration' => $request->get('SampleExtration'), 'ribosomalDepletion' => $request->get('ribosomalDepletion'), 'operator' => $request->get('operator'), 'create_at' => $request->get('create_at')]);
     $operator = User::findOrFail($request->get('operator'));
     $extraction->operator()->associate($operator);
     $POrecord = POcase::findOrFail($request->get('POrecord_id'));
     $extraction->POrecord()->associate($POrecord);
     $Shipment = new Shipment(array('sender' => $request->get('sender'), 'sampleGetDate' => $request->get('sampleGetDate'), 'sampleNum' => $request->get('sampleNum'), 'salesman' => $request->get('salesman'), 'salesmanGetDate' => $request->get('salesmanGetDate'), 'shippingCondition' => $request->get('shippingCondition'), 'labman' => $request->get('labman'), 'labmanGetDate' => $request->get('labmanGetDate')));
     $user = User::find(\Auth::id());
     $Shipment->creater()->associate($user);
     $Shipment->extraction()->associate($extraction);
     $Shipment->save();
     $extraction->Shipment_id = $Shipment->id;
     $extraction->save();
     $POrecord->save();
     return \Redirect::to('research/ngs/projects/show/' . $POrecord->project->id)->with('message', 'Your Extraction has been updated!');
 }