private function initData()
 {
     $this->login();
     factory(App\Activity::class, 50)->create();
     factory(App\User::class, 10)->create();
     factory(App\User::class, 'admin', 1)->create();
     factory(App\Group::class, 25)->create()->each(function ($g) {
         for ($i = 0; $i < 5; $i++) {
             $g->users()->save(factory(App\User::class)->make(), ['role' => 'member']);
         }
         $g->users()->save(factory(App\User::class)->make(), ['role' => 'leader']);
     });
     factory(App\Event::class, 5)->create()->each(function ($event) {
         $date = $event->time->startOfDay();
         $endDate = $event->endDate;
         do {
             $occurrence = new EventOccurrence();
             $occurrence->event_id = $event->id;
             $occurrence->date = $date;
             $occurrence->save();
             $date->addWeek();
         } while ($date < $endDate);
     });
     $faker = Faker\Factory::create();
     $occurrences = EventOccurrence::all();
     $activities = Activity::all()->toArray();
     foreach ($occurrences as $occurrence) {
         foreach ($faker->randomElements($activities, $faker->randomDigit) as $activity) {
             $occurrence->activities()->attach($activity['id']);
         }
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     //
     factory(App\Event::class, 5)->create()->each(function ($event) {
         $date = $event->time->startOfDay();
         $endDate = $event->endDate;
         do {
             $occurrence = new EventOccurrence();
             $occurrence->event_id = $event->id;
             $occurrence->date = $date;
             $occurrence->save();
             $date->addWeek();
         } while ($date < $endDate);
     });
     $faker = Faker\Factory::create();
     $occurrences = EventOccurrence::all();
     $activities = Activity::all()->toArray();
     foreach ($occurrences as $occurrence) {
         foreach ($faker->randomElements($activities, $faker->randomDigit) as $activity) {
             $occurrence->activities()->attach($activity['id']);
         }
     }
 }
 public function handleActivityPlan(Request $request)
 {
     $occurrences = $request->input('occurrences');
     $eventPatterns = $request->input('patterns');
     // occurrencejen käsittely
     foreach ($occurrences as $occurrence) {
         $eventOccurrence = EventOccurrence::findOrFail($occurrence['id']);
         foreach ($occurrence['activities'] as $activityId) {
             $activity = Activity::findOrFail($activityId);
             $eventOccurrence->activities()->attach($activity);
         }
     }
     // eventPatternien käsittely
     foreach ($eventPatterns as $eventPattern) {
         $eventPatternReal = EventPattern::findOrFail($eventPattern['id']);
         $event = new Event();
         $event->time = Carbon::createFromFormat('d.m.Y H:i', $eventPattern['date']);
         $event->endDate = Carbon::createFromFormat('d.m.Y', $eventPattern['datePart']);
         $event->description = " ";
         $event->place = " ";
         $event->name = $eventPatternReal->name;
         $event->group_id = $request->input('group');
         $event->save();
         $eventOccurrence = new EventOccurrence();
         $eventOccurrence->date = Carbon::createFromFormat('d.m.Y', $eventPattern['datePart']);
         $eventOccurrence->event_id = $event->id;
         $eventOccurrence->save();
         foreach ($eventPattern['activities'] as $activityId) {
             $activity = Activity::findOrFail($activityId);
             $eventOccurrence->activities()->attach($activity);
         }
     }
     return 2;
 }