commit 5a2ee904ea47c7287ffe7b771d4462ab733ca26d Author: smarcet Date: Mon Oct 19 22:03:43 2020 -0300 Updated Get event strategy Change-Id: I621a58e9424a4ed632945475eb7af9311d0635e2 Signed-off-by: smarcet diff --git a/app/Services/Model/Imp/SummitMetricService.php b/app/Services/Model/Imp/SummitMetricService.php index c96c382..c8f2956 100644 --- a/app/Services/Model/Imp/SummitMetricService.php +++ b/app/Services/Model/Imp/SummitMetricService.php @@ -20,12 +20,12 @@ use libs\utils\ITransactionService; use models\exceptions\EntityNotFoundException; use models\exceptions\ValidationException; use models\main\Member; +use models\summit\ISummitEventRepository; use models\summit\Summit; +use models\summit\SummitEvent; use models\summit\SummitEventAttendanceMetric; use models\summit\SummitMetric; use models\summit\SummitSponsorMetric; -use function Psy\debug; - /** * Class SummitMetricService * @package App\Services\Model\Imp @@ -40,14 +40,27 @@ final class SummitMetricService */ private $repository; + /** + * @var ISummitEventRepository + */ + private $event_repository; + + /** + * SummitMetricService constructor. + * @param ISummitMetricRepository $repository + * @param ISummitEventRepository $event_repository + * @param ITransactionService $tx_service + */ public function __construct ( ISummitMetricRepository $repository, + ISummitEventRepository $event_repository, ITransactionService $tx_service ) { parent::__construct($tx_service); $this->repository = $repository; + $this->event_repository = $event_repository; } /** @@ -81,9 +94,9 @@ final class SummitMetricService throw new ValidationException("source_id param is missing."); } $event_id = intval($payload['source_id']); - $event = $summit->getEvent($event_id); + $event = $this->event_repository->getById($event_id); - if (is_null($event)) { + if (is_null($event) || !$event instanceof SummitEvent) { throw new EntityNotFoundException(sprintf("Event %s does not belongs to summit %s.", $event_id, $summit->getId())); }