src/Service/OtpuskDbService.php line 35

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use App\EntityOtpusk\Tcities;
  4. use App\EntityOtpusk\Tcountries;
  5. use App\EntityOtpusk\Tregions;
  6. use App\RepositoryOtpusk\CitiesRepository;
  7. use App\RepositoryOtpusk\CountriesRepository;
  8. use App\RepositoryOtpusk\RegionsRepository;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Doctrine\Persistence\ManagerRegistry;
  11. class OtpuskDbService
  12. {
  13.     /**
  14.      * @var \App\RepositoryOtpusk\RegionsRepository
  15.      */
  16.     private RegionsRepository $regionsRepository;
  17.     public function __construct(
  18.         ManagerRegistry $doctrine,
  19.         CitiesRepository $citiesRepository,
  20.         CountriesRepository $countriesRepository,
  21.         RegionsRepository $regionsRepository
  22.     ) {
  23.         $this->doctrine            = $doctrine;
  24.         $this->citiesRepository    = $citiesRepository;
  25.         $this->countriesRepository = $countriesRepository;
  26.         $this->regionsRepository   = $regionsRepository;
  27.     }
  28.     public function findByRecId($id = null, $type)
  29.     {
  30.         $anotherEm = $this->doctrine->getManager('otpusk');
  31.         switch ($type) {
  32.             case 'country':
  33.                 return $anotherEm->getRepository(Tcountries::class)->findOneBy(['recId' => $id]);
  34.                 break;
  35.             case 'city':
  36.                 return $anotherEm->getRepository(Tcities::class)->findOneBy(['recId' => $id]);
  37.                 break;
  38.             case 'region':
  39.                 return $anotherEm->getRepository(Tregions::class)->findOneBy(['recId' => $id]);
  40.                 break;
  41.             default:
  42.                 break;
  43.         }
  44.     }
  45.     public function findAll($type)
  46.     {
  47.         $anotherEm = $this->doctrine->getManager('otpusk');
  48.         switch ($type) {
  49.             case 'country':
  50.                 return $anotherEm->getRepository(Tcountries::class)->findAll();
  51.                 break;
  52.             case 'city':
  53.                 return $anotherEm->getRepository(Tcities::class)->findAll();
  54.                 break;
  55.             case 'region':
  56.                 return $anotherEm->getRepository(Tregions::class)->findAll();
  57.                 break;
  58.             default:
  59.                 break;
  60.         }
  61.     }
  62.     public function findByName($name = null, $type)
  63.     {
  64.         $anotherEm = $this->doctrine->getManager('otpusk');
  65.         switch ($type) {
  66.             case 'country':
  67.                 return $this->countriesRepository->findOneByName($name);
  68.                 break;
  69.             case 'city':
  70.                 return $this->citiesRepository->findOneByName($name);
  71.                 break;
  72.             case 'region':
  73.                 return $this->regionsRepository->findOneByName($name);
  74.                 break;
  75.             default:
  76.                 break;
  77.         }
  78.     }
  79.     public function country($id = null)
  80.     {
  81.         $anotherEm = $this->doctrine->getManager('otpusk');
  82.         return $anotherEm->getRepository(Tcountries::class)
  83.                          ->findOneBy(['recId' => $id]);
  84.     }
  85. }