/**
  * action list
  *
  * @return void
  */
 public function listAction()
 {
     if (!$this->div->isLoggedUserInGroup($this->settings['participantGroupId'])) {
         $this->addFlashMessage($this->div->translate('message.noParticipant', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
         $this->redirect('list');
     }
     $oldestEventYear = $this->div->getOldestEventYear();
     $currentYear = date("Y");
     $index = 0;
     $statistics = array();
     for ($i = $currentYear; $i >= $oldestEventYear; $i--) {
         $year = $i;
         $statistics[$index]['year'] = $year;
         $statistics[$index]['activeEvents'] = $this->eventRepository->findEventsOfYearByActive($year, true)->count();
         $statistics[$index]['inactiveEvents'] = $this->eventRepository->findEventsOfYearByActive($year, false)->count();
         $averageAccepts = $this->eventRepository->calculateAverageAcceptsPerEventByYear($year, true);
         $statistics[$index]['averageAccepts'] = $averageAccepts["0"]["average"];
         $statistics[$index]['minimumAccepts'] = $averageAccepts["0"]["minimum"];
         $statistics[$index]['maximumAccepts'] = $averageAccepts["0"]["maximum"];
         $averageCancels = $this->eventRepository->calculateAverageAcceptsPerEventByYear($year, false);
         $statistics[$index]['averageCancels'] = $averageCancels["0"]["average"];
         $statistics[$index]['minimumCancels'] = $averageCancels["0"]["minimum"];
         $statistics[$index]['maximumCancels'] = $averageCancels["0"]["maximum"];
         $tops = $this->eventRepository->topParticipantsByYear($year);
         for ($j = 0; $j <= count($tops) - 1; $j++) {
             $statistics[$index]['tops'][$j]['participantName'] = $tops[$j]["participantName"];
             $statistics[$index]['tops'][$j]['eventsAccepted'] = $tops[$j]["eventsAccepted"];
         }
         $index++;
     }
     $this->view->assign('statistics', $statistics);
 }