src/Manager/PropertyManager.php line 46

Open in your IDE?
  1. <?php
  2. namespace App\Manager;
  3. use App\Entity\Property;
  4. use App\Repository\PropertyRepository;
  5. use App\Service\LocationIP\LocationIpInterface as LocationIP;
  6. use App\Service\Regionalization\Location;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Component\HttpFoundation\RequestStack;
  9. class PropertyManager extends BaseManager
  10. {
  11.     private RequestStack $requestStack;
  12.     public function __construct(EntityManagerInterface $emPropertyRepository $repositoryRequestStack $requestStack)
  13.     {
  14.         parent::__construct($em$repository);
  15.         $this->repository $repository;
  16.         $this->requestStack $requestStack;
  17.     }
  18.     public function create(): Property
  19.     {
  20.         return new Property();
  21.     }
  22.     public function listTypesFilter($location '')
  23.     {
  24.         $city $this->requestStack->getSession()->get(LocationIP::REGION);
  25.         if (is_null($city)) {
  26.             return $this->repository->listTypesFilter($location);
  27.         }
  28.         /** @var Location $city */
  29.         return $this->repository->listTypesFilterByCity($city->getRegion()->getSlug());
  30.     }
  31.     public function listLocationsFilter($type '')
  32.     {
  33.         return $this->repository->listLocationsFilter($type);
  34.     }
  35.     public function listTabPropertyTypes()
  36.     {
  37.         $city $this->requestStack->getSession()->get(LocationIP::REGION);
  38.         if (is_null($city)) {
  39.             return $this->repository->listTabPropertyTypes();
  40.         }
  41.         /** @var Location $city */
  42.         return $this->repository->listTabPropertyTypesByCity($city->getRegion()->getSlug());
  43.     }
  44.     public function search($type_slug ''$location_slug ''$types = [])
  45.     {
  46.         $city $this->requestStack->getSession()->get(LocationIP::REGION);
  47.         if (is_null($city)) {
  48.             return $this->repository->search($type_slug$location_slug$types);
  49.         }
  50.         /** @var Location $city */
  51.         return $this->repository->searchByCity($city->getRegion()->getSlug(), $type_slug$location_slug$types);
  52.     }
  53.     public function home()
  54.     {
  55.         return $this->repository->home();
  56.     }
  57.     public function listActiveRelateds($parent_id)
  58.     {
  59.         return $this->repository->listActiveRelateds($parent_id);
  60.     }
  61.     public function listActives()
  62.     {
  63.         return $this->repository->listActives();
  64.     }
  65.     public function loadBySlug($slug)
  66.     {
  67.         return $this->repository->loadBySlug($slug);
  68.     }
  69.     public function listContactOptions()
  70.     {
  71.         return $this->repository->listContactOptions();
  72.     }
  73.     public function listAutocomplete()
  74.     {
  75.         return $this->repository->listAutocomplete();
  76.     }
  77.     public function listLandings($entity)
  78.     {
  79.         return $this->repository->listLandings($entity);
  80.     }
  81.     public function listCountGroupLocation()
  82.     {
  83.         return $this->repository->listCountGroupLocation();
  84.     }
  85. }