<?php
namespace App\EventListener;
use App\Event\AssessmentCycleCompletedEvent;
use App\Service\Appraisal\AssessmentFinishedMessageService;
use App\Service\Appraisal\SecondAssessmentFinishedMessageService;
use App\Service\User\UserService;
class AssessmentCycleCompletedListener
{
/** @var UserService */
private $userService;
/** @var AssessmentFinishedMessageService */
private $assessmentFinishedMessageService;
/** @var SecondAssessmentFinishedMessageService */
private $secondAssessmentFinishedMessageService;
public function __construct(
UserService $userService,
AssessmentFinishedMessageService $assessmentFinishedMessageService,
SecondAssessmentFinishedMessageService $secondAssessmentFinishedMessageService
) {
$this->userService = $userService;
$this->assessmentFinishedMessageService = $assessmentFinishedMessageService;
$this->secondAssessmentFinishedMessageService = $secondAssessmentFinishedMessageService;
}
/**
* @param AssessmentCycleCompletedEvent $event
*/
public function onAssessmentCycleCompleted(AssessmentCycleCompletedEvent $event)
{
$cycle = $event->getCycle();
$this->userService->updateCompProfileScores($cycle->getUser());
$this->userService->updateSkillProfileScores($cycle->getUser());
$this->assessmentFinishedMessageService->run($cycle);
$this->secondAssessmentFinishedMessageService->run($cycle);
}
}