Exemplo n.º 1
0
 /**
  * Development function
  * @param \_OurBrand_\Quiz\Domain\Model\StudentQuizSession $studentQuizSession
  */
 public function ResetStudentQuizSessionAction($studentQuizSession)
 {
     $quiz = $studentQuizSession->getQuizSession()->getQuiz();
     foreach ($quiz->getExercises() as $exercise) {
         $previousAnswers = $this->answerRepository->findBySessionAndExercise($studentQuizSession, $exercise);
         $trackers = $this->trackStudentAudioPlaybackRepository->findBySessionAndExercise($studentQuizSession, $exercise);
         if ($previousAnswers->count() > 0) {
             foreach ($previousAnswers as $previousAnswer) {
                 $this->answerRepository->remove($previousAnswer);
             }
         }
         if ($trackers->count() > 0) {
             foreach ($trackers as $tracker) {
                 $this->trackStudentAudioPlaybackRepository->remove($tracker);
             }
         }
     }
     $studentQuizSession->setStartTime(null);
     $studentQuizSession->setCurrentTime(null);
     $studentQuizSession->setFinishedTime(null);
     $studentQuizSession->setTimesResumed(0);
     $this->studentQuizSessionRepository->update($studentQuizSession);
     $this->persistenceManager->persistAll();
     $this->redirect('studentindex');
 }
Exemplo n.º 2
0
 /**
  * Stop a studentQuizSession, which means the just one student.
  *
  * @param \_OurBrand_\Quiz\Domain\Model\StudentQuizSession $studentQuizSession
  * @param bool $writeCommandFile
  * @return int|string
  */
 public function stopStudentQuizSession(\_OurBrand_\Quiz\Domain\Model\StudentQuizSession $studentQuizSession, $writeCommandFile = TRUE)
 {
     $out = 1;
     $studentQuizSession->setStopTime(new \TYPO3\Flow\Utility\Now());
     $this->studentQuizSessionRepository->update($studentQuizSession);
     if ($writeCommandFile) {
         $out = $this->writeCommandFile($studentQuizSession->getQuizSession());
     }
     return $out;
 }
 /**
  * @param \_OurBrand_\Quiz\Domain\Model\StudentQuizSession $studentQuizSession
  */
 public function updateProgress($studentQuizSession)
 {
     $studentQuizSession->setCurrentTime(new \DateTime());
     $this->studentQuizSessionRepository->update($studentQuizSession);
 }