<?php
namespace PortalBundle\Controller;
use CoreBundle\Component\CoreFormFactory;
use CoreBundle\Component\FormManager;
use CoreBundle\Entity\Dealer;
use CoreBundle\Model\Vehicles\Repository;
use CoreBundle\Model\ViDiDepartmentModel;
use Doctrine\ORM\EntityManagerInterface;
use PortalBundle\Services\ServiceService;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\RouterInterface;
class SaleController extends BaseController
{
public const AUTOMARKET = 6;
public function __construct(CoreFormFactory $coreFormFactory, RequestStack $requestStack, RouterInterface $router,
Repository $vehicleRepository, ServiceService $serviceService)
{
parent::__construct($coreFormFactory, $requestStack, $router, $vehicleRepository, $serviceService);
}
public function commission(EntityManagerInterface $em): Response
{
return $this->basePortalRender('@Portal/Sale/commission.html.twig', [
'feedbackForm' => $this->CoreFormFactory()->fbDefQuestionForm('Запрос консультации о комиссионной продаже', ViDiDepartmentModel::DEPARTMENT_TYPE_SALE, null, $this->getDealerById(self::AUTOMARKET, $em))->createView()
]);
}
public function buybackCar(): Response
{
return $this->basePortalRender('@Portal/Sale/buyback-car.html.twig');
}
public function carExchange(): Response
{
return $this->basePortalRender('@Portal/Sale/car-exchange.html.twig');
}
public function vidiSelect(): Response
{
return $this->basePortalRender('@Portal/Sale/vidi-select.html.twig');
}
public function feedbackForm(Request $request, FormManager $formManager, EntityManagerInterface $em): JsonResponse
{
return $formManager->saveFeedbackForm($request, $this->getDealerById(self::AUTOMARKET, $em));
}
private function getDealerById($id, EntityManagerInterface $em) {
return $em->getRepository(Dealer::class)->find($id);
}
}