/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store($slug)
 {
     $event = Event::findBySlug($slug);
     // Check if event is open for registration
     $now = Carbon::now();
     if (!($now > $event->open_time && $now < $event->close_time)) {
         abort(403, 'Event is not open for registration!');
     }
     // Create registration
     if (!\Auth::check()) {
         // Register as guest
         $input = \Request::all();
         $input['event_id'] = $event->id;
         $reg = GuestRegistration::create($input);
     } else {
         // Register as user
         $input = \Request::all();
         $input['user_id'] = \Auth::id();
         $input['event_id'] = $event->id;
         if (EventRegistration::where('user_id', $input['user_id'])->where('event_id', $input['event_id'])->first()) {
             abort(422, 'User is already registered for this event!');
         }
         $reg = EventRegistration::create($input);
     }
     return $reg;
 }
 public function run()
 {
     DB::table('event_registrations')->delete();
     $event_ids = Event::all()->lists('id')->toArray();
     $user_ids = User::all()->lists('id')->toArray();
     for ($counter = 0; $counter < 50; $counter++) {
         $rand_event_id = $event_ids[array_rand($event_ids)];
         $rand_user_id = $user_ids[array_rand($user_ids)];
         if (EventRegistration::where('user_id', '=', $rand_user_id)->where('event_id', '=', $rand_event_id)->exists()) {
             continue;
         }
         EventRegistration::create(array('user_id' => $rand_user_id, 'event_id' => $rand_event_id));
     }
 }