/**
  * Callback to validate module database records.
  *
  * @param Event $event
  */
 public static function onIntegrityCheck($event)
 {
     $integrityController = $event->sender;
     $integrityController->showTestHeadline("Polls Module - Answers (" . PollAnswer::find()->count() . " entries)");
     foreach (PollAnswer::find()->joinWith('poll')->all() as $answer) {
         if ($answer->poll === null) {
             if ($integrityController->showFix("Deleting poll answer id " . $answer->id . " without existing poll!")) {
                 $answer->delete();
             }
         }
     }
     $integrityController->showTestHeadline("Polls Module - Answers User (" . PollAnswerUser::find()->count() . " entries)");
     foreach (PollAnswerUser::find()->joinWith(['poll', 'user'])->all() as $answerUser) {
         if ($answerUser->poll === null) {
             if ($integrityController->showFix("Deleting poll answer id " . $answerUser->id . " without existing poll!")) {
                 $answerUser->delete();
             }
         }
         if ($answerUser->user === null) {
             if ($integrityController->showFix("Deleting poll answer id " . $answerUser->id . " without existing user!")) {
                 $answerUser->delete();
             }
         }
     }
 }
 /**
  * Resets all answers from a user
  *
  * @param type $userId
  */
 public function resetAnswer($userId = "")
 {
     if ($userId == "") {
         $userId = Yii::$app->user->id;
     }
     if ($this->hasUserVoted($userId)) {
         $answers = PollAnswerUser::findAll(array('created_by' => $userId, 'poll_id' => $this->id));
         foreach ($answers as $answer) {
             $answer->delete();
         }
         //ToDo: Delete Activity
     }
 }