/**
  * Saves Event data
  *
  * @param  Event             $event
  * @return null
  * @throws \RuntimeException
  */
 public function saveEvent(Event $event)
 {
     $filename = "{$this->baseDir}/{$event->getId()}.json";
     $saved = file_put_contents($filename, $event->toJson());
     if (false === $saved) {
         throw new \RuntimeException("Failed to write on the file {$event->getId()}.json");
     }
 }
 /**
  * @param OutputInterface $output
  */
 private function doRaffle(OutputInterface $output)
 {
     while ($prizes = $this->event->getPrizes()) {
         $prize = $this->event->popPrize($this->selectPrize($prizes, $output));
         $winner = $this->getRandomAttendee($output, $prize);
         $prize->setWinner($winner);
         $this->dataHandler->saveWinner($this->event->getId(), $prize);
         $this->dataHandler->saveEvent($this->event);
         $this->tweetWinner($output, $prize);
     }
 }