<?php
namespace App\EventListener\Questionary;
use App\DBAL\Types\LearningProgramType;
use App\Event\Questionary\HomeworkResultNewEvent;
use App\Repository\QuestionaryRepository;
use App\Service\Questionary\QuestionaryAttemptService;
class HomeworkResultNewListener
{
private QuestionaryRepository $questionaryRepository;
private QuestionaryAttemptService $questionaryAttemptService;
public function __construct(
QuestionaryRepository $questionaryRepository,
QuestionaryAttemptService $questionaryAttemptService
) {
$this->questionaryRepository = $questionaryRepository;
$this->questionaryAttemptService = $questionaryAttemptService;
}
public function onCreateHomeworkResult(HomeworkResultNewEvent $event): void
{
$hwr = $event->getHomeworkResult();
if (null === $hwr) {
return;
}
if (!$hwr->getLearningProgramm() || $hwr->getLearningProgramm()->getType() === LearningProgramType::INTERNSHIP) {
return;
}
$this->questionaryAttemptService->createForSendHomework($hwr);
}
}