|
12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
-
- namespace domain\Product\Rotating;
-
- use domain\_\AbstractBuilder;
- use domain\_\StatusInterface;
- use domain\Producer\Producer\Producer;
- use domain\Product\RotatingProduct\RotatingProductRepository;
-
- class RotatingBuilder extends AbstractBuilder
- {
- protected RotatingProductRepository $rotatingProductRepository;
-
- public function loadDependencies(): void
- {
- $this->rotatingProductRepository = $this->loadService(RotatingProductRepository::class);
- }
-
- public function instanciateRotating(Producer $producer): Rotating
- {
- $rotating = new Rotating();
- $rotating->setProducer($producer);
- $rotating->setStatus(StatusInterface::STATUS_ONLINE);
-
- return $rotating;
- }
-
- public function initSelectedProductsIds(Rotating $rotating): void
- {
- $selectedProductsIdsArray = [];
- $rotatingProductsArray = $this->rotatingProductRepository->findRotatingProductsByRotating($rotating);
- foreach($rotatingProductsArray as $rotatingProduct) {
- $selectedProductsIdsArray[] = $rotatingProduct->getProduct()->id;
- }
- $rotating->setSelectedProductsIds($selectedProductsIdsArray);
- }
- }
|