Esempio n. 1
0
 public function store(SampleRunRequest $request)
 {
     $input = $request->all();
     $run = new Run($input);
     $run->users_id = Auth::user()->id;
     $run->run_date = Carbon::now()->addDays($request->get('run_date'));
     $run->created_at = Carbon::now();
     $run->updated_at = Carbon::now();
     $run->save();
     $batch_ids = Session::get('run_batch_ids');
     $batches = Batch::whereIn('id', $batch_ids)->get();
     $errors = $this->validateBatches($batches);
     if (!$errors) {
         $this->runSamples = array();
         foreach ($batches as $batch) {
             foreach ($batch->samples as $sample) {
                 if ($sample->runs_remaining > 0) {
                     $sampleRun = new SampleRun();
                     $sampleRun->created_at = Carbon::now();
                     $sampleRun->updated_at = Carbon::now();
                     $sampleRun->run_id = $run->id;
                     $sampleRun->sample_id = $sample->id;
                     $sampleRun->save();
                     $sample->runs_remaining -= 1;
                     $sample->update();
                     array_push($this->runSamples, $sample);
                 }
             }
         }
     }
     if ($errors) {
         return view('sampleRuns.errors', ['batches' => $batches]);
     }
     $this->exportSheet($run);
     //return redirect('runs');
 }