コード例 #1
0
 /**
  * Create a copy of an Exercise.
  *
  * @param Exercise $exercise
  *
  * @return Exercise the copy of the Exercise
  */
 public function copyExercise(Exercise $exercise)
 {
     $newExercise = new Exercise();
     // Populate Exercise properties
     $newExercise->setName($exercise->getName());
     $newExercise->setDescription($exercise->getDescription());
     $newExercise->setShuffle($exercise->getShuffle());
     $newExercise->setPickSteps($exercise->getPickSteps());
     $newExercise->setDuration($exercise->getDuration());
     $newExercise->setDoprint($exercise->getDoprint());
     $newExercise->setMaxAttempts($exercise->getMaxAttempts());
     $newExercise->setCorrectionMode($exercise->getCorrectionMode());
     $newExercise->setDateCorrection($exercise->getDateCorrection());
     $newExercise->setMarkMode($exercise->getMarkMode());
     $newExercise->setDispButtonInterrupt($exercise->getDispButtonInterrupt());
     $newExercise->setLockAttempt($exercise->getLockAttempt());
     $newExercise->setMinimalCorrection($exercise->isMinimalCorrection());
     /** @var \UJM\ExoBundle\Entity\Step $step */
     foreach ($exercise->getSteps() as $step) {
         $newStep = $this->stepManager->copyStep($step);
         // Add step to Exercise
         $newExercise->addStep($newStep);
     }
     return $newExercise;
 }
コード例 #2
0
 /**
  * @param Exercise $exercise
  * @param string   $grade
  */
 public function __construct(Exercise $exercise, $grade)
 {
     $details = array('exercise' => array('id' => $exercise->getId(), 'name' => $exercise->getName(), 'title' => $exercise->getTitle()), 'result' => $grade['scorePaper'], 'resultMax' => $grade['maxExoScore']);
     parent::__construct($exercise->getResourceNode(), $details);
 }