Пример #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;
 }