src/CoreBundle/Model/OrderPdf/OrderPdfFacade.php line 131

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\CoreBundle\Model\OrderPdf;
  4. use App\CoreBundle\Form\Admin\QuickSearch\QuickSearchFormData;
  5. use App\CoreBundle\Model\UploadedFile\UploadedFileFacade;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use WPO\WC\PDF_Invoices\Compatibility\Order;
  8. class OrderPdfFacade
  9. {
  10.     /**
  11.      * @var \Doctrine\ORM\EntityManagerInterface
  12.      */
  13.     protected $em;
  14.     /**
  15.      * @var \App\CoreBundle\Model\OrderPdf\OrderPdfRepository
  16.      */
  17.     protected $orderPdfRepository;
  18.     /**
  19.      * @var \App\CoreBundle\Model\OrderPdf\OrderPdfFactoryInterface
  20.      */
  21.     protected $orderPdfFactory;
  22.     /**
  23.      * @var \App\CoreBundle\Model\UploadedFile\UploadedFileFacade
  24.      */
  25.     protected $uploadedFileFacade;
  26.     public function __construct(
  27.         EntityManagerInterface $em,
  28.         OrderPdfRepository $orderPdfRepository,
  29.         OrderPdfFactoryInterface $orderPdfFactory,
  30.         UploadedFileFacade $uploadedFileFacade
  31.     ) {
  32.         $this->em $em;
  33.         $this->orderPdfRepository $orderPdfRepository;
  34.         $this->orderPdfFactory $orderPdfFactory;
  35.         $this->uploadedFileFacade $uploadedFileFacade;
  36.     }
  37.     /**
  38.      * @param int $orderPdfId
  39.      * @return \App\CoreBundle\Model\OrderPdf\OrderPdf
  40.      */
  41.     public function getById(int $orderPdfId): OrderPdf
  42.     {
  43.         return $this->orderPdfRepository->getById($orderPdfId);
  44.     }
  45.     /**
  46.      * @return \App\CoreBundle\Model\OrderPdf\OrderPdf[]
  47.      */
  48.     public function getAll(): array
  49.     {
  50.         return $this->orderPdfRepository->getAll();
  51.     }
  52.     /**
  53.      * @param \App\CoreBundle\Model\OrderPdf\OrderPdfData $orderPdfata
  54.      * @return \App\CoreBundle\Model\OrderPdf\OrderPdf
  55.      */
  56.     public function create(OrderPdfData $orderPdfData): OrderPdf
  57.     {
  58. //        if (!$this->em->isOpen()) {
  59. //            $this->em = $this->em->create(
  60. //                $this->em->getConnection(),
  61. //                $this->em->getConfiguration()
  62. //            );
  63. //        }
  64.         $orderPdf $this->orderPdfFactory->create($orderPdfData);
  65.         $this->em->persist($orderPdf);
  66.         $this->em->flush();
  67.         if (!empty($orderPdfData->file->uploadedFiles)) {
  68.             $this->uploadedFileFacade->manageFiles($orderPdf$orderPdfData->file);
  69.         }
  70.         return $orderPdf;
  71.     }
  72.     /**
  73.      * @param int $orderPdfId
  74.      * @param \App\CoreBundle\Model\OrderPdf\OrderPdfData $orderPdfata
  75.      * @return \App\CoreBundle\Model\OrderPdf\OrderPdf
  76.      */
  77.     public function edit(int $orderPdfIdOrderPdfData $orderPdfData): OrderPdf
  78.     {
  79.         $orderPdf $this->orderPdfRepository->getById($orderPdfId);
  80.         $orderPdf->edit($orderPdfData);
  81.         $this->em->flush();
  82.         if (!empty($orderPdfData->file->uploadedFiles)) {
  83.             $this->uploadedFileFacade->manageFiles($orderPdf$orderPdfData->file);
  84.         }
  85.         return $orderPdf;
  86.     }
  87.     /**
  88.      * @param OrderPdf $orderPdf
  89.      * @param array $orders
  90.      * @return void
  91.      */
  92.     public function refreshOrders(OrderPdf $orderPdf, array $orders): void
  93.     {
  94.         $oldOrders $orderPdf->getOrders();
  95.     }
  96.     /**
  97.      * @param \App\CoreBundle\Form\Admin\QuickSearch\QuickSearchFormData $quickSearchData
  98.      * @return \Doctrine\ORM\QueryBuilder
  99.      */
  100.     public function getOrderPdfListQueryBuilderByQuickSearchData(QuickSearchFormData $quickSearchData)
  101.     {
  102.         return $this->orderPdfRepository->getOrderPdfListQueryBuilderByQuickSearchData(
  103.             $quickSearchData
  104.         );
  105.     }
  106.     /**
  107.      * @param int $orderPdfId
  108.      */
  109.     public function deleteById($orderPdfId)
  110.     {
  111.         $orderPdf $this->orderPdfRepository->getById($orderPdfId);
  112.         $this->em->remove($orderPdf);
  113.         $this->em->flush();
  114.     }
  115. }