src/Service/OpenDayService.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use App\Repository\OpenDayRepository;
  4. use Symfony\Contracts\Translation\TranslatorInterface;
  5. /**
  6.  * Class OpenDayService
  7.  * @package App\Service
  8.  */
  9. class OpenDayService extends BaseService
  10. {
  11.     /**
  12.      * OpenDayService constructor.
  13.      * @param OpenDayRepository $repository
  14.      */
  15.     public function __construct(
  16.         OpenDayRepository $repository,
  17.         BaseService $baseService,
  18.         TranslatorInterface $translator
  19.     ) {
  20.         $this->reflectFromParent($baseService);
  21.         $this->repository = $repository;
  22.         $this->translator = $translator;
  23.     }
  24.     public function filter($request)
  25.     {
  26.         $requestData = null;
  27.         if ($request) {
  28.             foreach ($request as $key => $value) {
  29.                 if (empty($value)) continue;
  30.                 if (in_array($key, ['campuses'])) {
  31.                     $requestData['memberOf_' . $key] = $value;
  32.                 }
  33.             }
  34.         }
  35.         return $this->repository->getOpendayInMonth($requestData);
  36.     }
  37.     public function getById($id)
  38.     {
  39.         return $this->repository->getOneBy(['filter_id' => $id]);
  40.     }
  41.     public function updateStatus($request)
  42.     {
  43.         $entity = $this->get($request->get('id'));
  44.         $status = $request->get('status');
  45.         $entity->setStatus($status);
  46.         $this->repository->save($entity);
  47.         return $this->autoMapper->map($entity, 'App\DTO\OpenDay\OpenDayOutput');
  48.     }
  49.     public function deleteEntity($id)
  50.     {
  51.         if ($this->openDayPersonRepo->findOneBy(['openDay' => $id])) {
  52.             return $this->translator->trans('openDay_person_exits');
  53.         }
  54.         return $this->delete($id);
  55.     }
  56. }