src/DcSiteBundle/Controller/ToyotaBorispol/CarController.php line 72

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\ToyotaBorispol;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Factory\Vehicle as VehicleFactory;
  6. use CoreBundle\Model\Api\OnlineService\ApiServer1C;
  7. use CoreBundle\Model\Vehicles\Repository;
  8. use CoreBundle\Services\MediaExtensionVidi;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use PortalBundle\Model\SeoMetaTag;
  11. use Symfony\Component\Filesystem\Filesystem;
  12. use Symfony\Component\HttpFoundation\RequestStack;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  15. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  16. use Symfony\Component\Routing\RouterInterface;
  17. use Twig\Environment;
  18. class CarController extends BaseController
  19. {
  20.     const MODEL_FRAME = [
  21.         'yaris',
  22.         'yaris-hybrid',
  23.         'yaris-cross',
  24.         'yaris-cross-hybrid',
  25.         'corolla',
  26.         'corolla-cross',
  27.         'corolla-hybrid',
  28.         'avensis',
  29.         'camry',
  30.         'camry-hybrid',
  31.         'c-hr',
  32.         'c-hr-hybrid',
  33.         'rav4',
  34.         'rav4-hybrid',
  35.         'highlander',
  36.         'highlander-hybrid',
  37.         'land-cruiser-prado',
  38.         'land-cruiser',
  39.         'hilux',
  40.         'proace',
  41.         'proace-city',
  42.         'proace-city-verso',
  43.     ];
  44.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  45.     {
  46.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  47.     }
  48.     public function list(): ?Response
  49.     {
  50.         return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/car-catalog.html.twig', [
  51.         ]);
  52.     }
  53.     public function car($car): ?Response
  54.     {
  55.         return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/car-card-single.html.twig', [
  56.         ]);
  57.     }
  58.     public function usedCar(): ?Response
  59.     {
  60.         return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/used-car.html.twig', [
  61.             'vehicle' => self::MODEL_FRAME,
  62.         ]);
  63.     }
  64.     public function usedCarModel($model): ?Response
  65.     {
  66.         if (substr($model, -7) == '-hybrid') {
  67.             $isHybrid true;
  68.         } else {
  69.             $isHybrid false;
  70.         }
  71.         if (!in_array($modelself::MODEL_FRAME)) {
  72.             throw new NotFoundHttpException();
  73.         }
  74.         return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/used-car-model.html.twig', [
  75.             'model' => $model,
  76.             'isHybrid' => $isHybrid,
  77.         ]);
  78.     }
  79. }