<?php
namespace DcSiteBundle\Controller\ToyotaBorispol;
use CoreBundle\Component\CoreFormFactory;
use CoreBundle\Component\FormManager;
use CoreBundle\Factory\Vehicle as VehicleFactory;
use CoreBundle\Model\Api\OnlineService\ApiServer1C;
use CoreBundle\Model\Vehicles\Repository;
use CoreBundle\Services\MediaExtensionVidi;
use Doctrine\ORM\EntityManagerInterface;
use PortalBundle\Model\SeoMetaTag;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Routing\RouterInterface;
use Twig\Environment;
class CarController extends BaseController
{
const MODEL_FRAME = [
'yaris',
'yaris-hybrid',
'yaris-cross',
'yaris-cross-hybrid',
'corolla',
'corolla-cross',
'corolla-hybrid',
'avensis',
'camry',
'camry-hybrid',
'c-hr',
'c-hr-hybrid',
'rav4',
'rav4-hybrid',
'highlander',
'highlander-hybrid',
'land-cruiser-prado',
'land-cruiser',
'hilux',
'proace',
'proace-city',
'proace-city-verso',
];
public function __construct(CoreFormFactory $coreFormFactory, SeoMetaTag $seoMetaTag, RequestStack $requestStack, RouterInterface $router, FormManager $formManager, EntityManagerInterface $em, ApiServer1C $apiServer1C, SessionInterface $session, Filesystem $filesystem, MediaExtensionVidi $mediaExtensionVidi, Repository $vehicleRepository, VehicleFactory $vehicleFactory, Environment $twig)
{
parent::__construct($coreFormFactory, $seoMetaTag, $requestStack, $router, $formManager, $em, $apiServer1C, $session, $filesystem, $mediaExtensionVidi, $vehicleRepository, $vehicleFactory, $twig);
}
public function list(): ?Response
{
return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/car-catalog.html.twig', [
]);
}
public function car($car): ?Response
{
return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/car-card-single.html.twig', [
]);
}
public function usedCar(): ?Response
{
return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/used-car.html.twig', [
'vehicle' => self::MODEL_FRAME,
]);
}
public function usedCarModel($model): ?Response
{
if (substr($model, -7) == '-hybrid') {
$isHybrid = true;
} else {
$isHybrid = false;
}
if (!in_array($model, self::MODEL_FRAME)) {
throw new NotFoundHttpException();
}
return $this->baseToyotaBorispol('@DcSite/Toyota_Borispol/Car/used-car-model.html.twig', [
'model' => $model,
'isHybrid' => $isHybrid,
]);
}
}