/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $title = Request::input('title');
     $briefDescription = Request::input('briefDescription');
     $categoriesId = Request::input('categories');
     $sample = new Sample();
     $sample = Sample::create(['title' => $title, 'briefDescription' => $briefDescription]);
     $sample->categories()->sync($categoriesId);
     if (Request::hasFile('image')) {
         $file = Request::file('image');
         $filename = time() * rand(1, 10) . '.' . $file->getClientOriginalExtension();
         $file = $file->move(public_path() . '/uploadedFiles', $filename);
         $sample->image = '/uploadedFiles/' . $filename;
         $sample->save();
     }
     flash('The Work Sample Was Created Successfully');
     return redirect('/WorkSample');
 }
 /**
  * @param $filename
  * @param $batchId
  * @param $projectId
  * @param $plate
  * @param $well
  * @param string $description
  * @param int $runs
  * @param int $lanes
  * @param string $delimiter
  * @return bool
  */
 private function addData($filename, $batchId, $plate = '', $well = '', $description = '', $runs = 0, $lanes = 0, $delimiter = ',')
 {
     $header = NULL;
     if (($handle = fopen($filename, 'r')) !== FALSE) {
         while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
             if (!$header) {
                 if ($this->checkHeaders($row) !== FALSE) {
                     $header = $row;
                 } else {
                     return FALSE;
                 }
             } else {
                 // Check for unique name
                 $dupes_in_db = DB::table('samples')->where('sample_id', 'like', $row[0])->get();
                 $number_of_dupes = count($dupes_in_db) + 1;
                 //TODO Check for compatiblity
                 $this->getI7IndexId($row[1]);
                 $sample = Sample::create(array('batch_id' => $batchId, 'sample_id' => $row[0], 'sample_id_suffix' => $number_of_dupes, 'plate' => $plate, 'well' => $well, 'i7_index_id' => $this->getI7IndexId($row[1]), 'i5_index_id' => $this->getI5IndexId($row[3]), 'description' => $description, 'runs_remaining' => $runs, 'instrument_lane' => $lanes));
             }
         }
         fclose($handle);
     }
 }