src/AdminBundle/Admin/Vehicles/Special/InStockAdmin.php line 12

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin\Vehicles\Special;
  3. use AdminBundle\Admin\Vehicles\BaseInStockAdmin;
  4. use CoreBundle\Entity\Vehicles\InStock;
  5. use CoreBundle\Factory\InStockVehicle;
  6. use CoreBundle\Model\Vehicles\InStockVehicle as InStockVehicleModel;
  7. use CoreBundle\Model\Vehicles\VehicleType;
  8. use CoreBundle\Services\MediaExtensionVidi;
  9. class InStockAdmin extends BaseInStockAdmin
  10. {
  11.     protected $baseRouteName 'in-stock-special';
  12.     protected $baseRoutePattern 'in-stock-special';
  13.     protected MediaExtensionVidi $mediaExtensionVidi;
  14.     protected InStockVehicle $inStockVehicleFactory;
  15.     public function setExtraServices(MediaExtensionVidi $mediaExtensionVidiInStockVehicle $inStockVehicleFactory): void
  16.     {
  17.         $this->mediaExtensionVidi $mediaExtensionVidi;
  18.         $this->inStockVehicleFactory $inStockVehicleFactory;
  19.     }
  20.     protected function getVehicleType() {
  21.         return VehicleType::SPECIAL_TYPE;
  22.     }
  23.     protected function getVariationAdminCode(): string
  24.     {
  25.         return 'admin.vehicles.special_variation';
  26.     }
  27.     protected function getVehicleAdminCode(): string
  28.     {
  29.         return 'admin.vehicles.special_vehicle';
  30.     }
  31.     private function getPhotos(InStockVehicleModel $inStock): array
  32.     {
  33.         $result = [];
  34.         foreach ($inStock->getGallery()->getGalleryItems() as $value) {
  35.             $result[] = 'https://vidi.ua'$this->mediaExtensionVidi->getPath($value'reference');
  36.         }
  37.         return $result;
  38.     }
  39.     /**
  40.      * @param InStock $object
  41.      * @return void
  42.      * @throws \Exception
  43.      */
  44.     public function prePersistf($object): void
  45.     {
  46.         $inStock $this->inStockVehicleFactory->createByEntity($object);
  47.         $data = [
  48.             'currencyId' => 2,
  49.             'price' => $inStock->price(),
  50.             'categoryId' => 1,
  51.             'markaId' => $inStock->getBrand()->getRiaId(),
  52.             'modelId' => $inStock->getModel()->getRiaId(),
  53.             'baseId' => $inStock->getModel()->getId(),
  54.             'equipId' => $inStock->getEquipment()->getId(),
  55.             'year' => $inStock->getEquipment()->getId(),
  56.             'inStock' => 1,
  57.             'testDrive' => 1,
  58.             'withoutFirstRegistration' => 0,
  59.             'description' => $inStock->getContent('ua'),
  60.             'vinCode' => $inStock->getVin(),
  61.             'photos' => $this->getPhotos($inStock),
  62.         ];
  63.         $result $this->autoRia->addNewVehicle($data);
  64.         parent::prePersist($object);
  65.     }
  66. }