src/DcSiteBundle/Controller/Nissan/BasketController.php line 37

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Nissan;
  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 DcSiteBundle\Services\Nissan\Finance\FinanceService;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use MyBundle\Entity\Basket;
  12. use MyBundle\Service\OrderService;
  13. use PortalBundle\Model\SeoMetaTag;
  14. use Symfony\Component\Filesystem\Filesystem;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Component\HttpFoundation\RequestStack;
  17. use Symfony\Component\HttpFoundation\Response;
  18. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  19. use Symfony\Component\Routing\RouterInterface;
  20. use Symfony\Contracts\Translation\TranslatorInterface;
  21. use Twig\Environment;
  22. class BasketController extends BaseController
  23. {
  24.     private FinanceService $financeService;
  25.     public function __construct(FinanceService $financeServiceCoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  26.     {
  27.         $this->financeService $financeService;
  28.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  29.     }
  30.     public function basket(): ?Response
  31.     {
  32.         $Dealer $this->getDealer();
  33.         return $this->baseNissanRender('@DcSite/Nissan/Basket/basket.html.twig', [
  34.             'type' => Basket::TYPE_ACCESSORY,
  35.             'dealerId' => $Dealer->getId(),
  36.             'cars' => $this->financeService->getVehicles($Dealer),
  37.         ]);
  38.     }
  39.     public function checkoutOrder(Request $requestTranslatorInterface $translator$type null): ?Response
  40.     {
  41.         $translator->setLocale($request->getLocale());
  42.         $Dealer $this->getDealer();
  43.         $dealerId $Dealer->getId();
  44.         $dealerCenter $Dealer->getAddressByLocale($request->getLocale());
  45.         return $this->baseNissanRender('@DcSite/Nissan/Basket/checkout_order.html.twig', [
  46.             'type' => $type,
  47.             'typeOrder' => OrderService::WITH_PAY,
  48.             'dealerId' => $dealerId,
  49.             'dealerCenter' => $dealerCenter,
  50.             'cars' => $this->financeService->getVehicles($Dealer),
  51.             'translates' => $translator->getCatalogue($request->getLocale())->all('basket'),
  52.         ]);
  53.     }
  54.     public function order(OrderService $orderService): ?Response
  55.     {
  56.         $order $orderService->getOrderInfo($this->getDealer(), $this->getUser());
  57.         return $this->baseNissanRender('@DcSite/Nissan/Order/order.html.twig'$order + [
  58.                 'cars' => $this->financeService->getVehicles($this->getDealer()),
  59.             ]);
  60.     }
  61. }