Example #1
0
 /**
  * Handle the event.
  *
  * @param  Events $event
  * @return void
  */
 public function handle(TournamentWasStarted $event)
 {
     $this->setTournament($event->tournament);
     if (Tournament::MIN_TEAMS_AMOUNT > count($this->teams)) {
         throw new \UnexpectedValueException('Tournament should have at least 2 teams.');
     }
     /**
      * @var $matches Collection
      */
     $matches = $this->tournament->matches()->getResults();
     if (0 < $matches->count()) {
         throw new \UnexpectedValueException('Tournament draw has been already done.');
     }
     $this->draw();
 }
Example #2
0
 public function updating(Tournament $model)
 {
     $dirtyStatus = array_get($model->getDirty(), 'status');
     if (Tournament::STATUS_STARTED === $dirtyStatus && 1 > $model->matches()->getResults()->count()) {
         Log::debug('Tournament ' . $model->name . ' was started');
         event(new TournamentWasStarted($model));
     }
     if (Tournament::STATUS_DRAFT === $dirtyStatus) {
         Log::debug('Tournament ' . $model->name . ' was reset');
         event(new TournamentWasReset($model));
     }
 }