@param \Generated\Shared\Transfer\ProductListCompanyRelationTransfer $productListCompanyRelationTransfer

@return \Generated\Shared\Transfer\ProductListCompanyRelationTransfer
544847
public function getProductListCompanyRelation(
        ProductListCompanyRelationTransfer $productListCompanyRelationTransfer
    ): ProductListCompanyRelationTransfer {
        $productListCompanyRelationTransfer->requireIdProductList();

        $companyIds = $this->productListCompanyRepository->getRelatedCompanyIdsByIdProductList(
            $productListCompanyRelationTransfer->getIdProductList()
        );

        $productListCompanyRelationTransfer->setCompanyIds($companyIds);

        return $productListCompanyRelationTransfer;
    }
750117
public function update(RestCompaniesRequestTransfer $restCompaniesRequestTransfer): RestCompaniesResponseTransfer
    {
        /** @var \Generated\Shared\Transfer\RestCompaniesResponseTransfer $restCompaniesResponseTransfer */
        $restCompaniesResponseTransfer = $this->zedRequestClient->call(
            '/companies-rest-api/gateway/update',
            $restCompaniesRequestTransfer
        );

        return $restCompaniesResponseTransfer;
    }
1173800
public function expandProductListTransferWithProductListCompanyRelationTransfer(
        ProductListTransfer $productListTransfer
    ): ProductListTransfer {
        $productListTransfer = $this->getFactory()->createProductListTransferExpander()
            ->expandWithProductListCompanyRelationTransfer($productListTransfer);

        return $productListTransfer;
    }
950405
public function import(?DataImporterConfigurationTransfer $dataImporterConfigurationTransfer = null): DataImporterReportTransfer
    {
        return $this->getFactory()->createCompanyUnitAddressLabelDataImport()->import($dataImporterConfigurationTransfer);
    }
855524
protected function getRelatedCompanyIds(
        ProductListCompanyRelationTransfer $productListCompanyRelationTransfer
    ): array {
        $currentProductListCompanyRelationTransfer = $this->productListCompanyRelationReader
            ->getProductListCompanyRelation($productListCompanyRelationTransfer);

        return $currentProductListCompanyRelationTransfer->getCompanyIds();
    }
1015721
public function mapProductList(
        SpyProductList $spyProductList,
        ProductListTransfer $productListTransfer
    ): ProductListTransfer {
        $productListTransfer = $productListTransfer->fromArray($spyProductList->toArray(), true);

        return $productListTransfer;
    }
676279
public function getModuleTransfers(array $methodTransferCollection, ClassNodeTransfer $classNodeTransfer): array
    {
        return $this->getFactory()
            ->createModuleFinder()
            ->getModuleTransfers($methodTransferCollection, $classNodeTransfer);
    }
218438
protected function createCompanyResponseTransfer(CompanyTransfer $companyTransfer): RestCompaniesResponseTransfer
    {
        $restCompaniesResponseAttributesTransfer = new RestCompaniesResponseAttributesTransfer();

        $restCompaniesResponseAttributesTransfer->fromArray(
            $companyTransfer->toArray(),
            true
        );

        $restCompaniesResponseTransfer = new RestCompaniesResponseTransfer();

        $restCompaniesResponseTransfer->setIsSuccess(true)
            ->setRestCompaniesResponseAttributes($restCompaniesResponseAttributesTransfer);

        return $restCompaniesResponseTransfer;
    }
149529
public function findCompanyByExternalReference(
        RestCompaniesRequestAttributesTransfer $restCompaniesRequestAttributesTransfer
    ): RestCompaniesResponseTransfer {
        $companyTransfer = $this->findByExternalReference(
            $restCompaniesRequestAttributesTransfer->getExternalReference()
        );

        if ($companyTransfer !== null) {
            return $this->createCompanyResponseTransfer($companyTransfer);
        }

        return $this->createCompanyFailedToLoadErrorResponseTransfer();
    }
151359
public function postSave(ProductListTransfer $productListTransfer): ProductListTransfer
    {
        $productListCustomerRelationTransfer = $productListTransfer->getProductListCustomerRelation();

        if (!$productListCustomerRelationTransfer) {
            return $productListTransfer;
        }

        $productListTransfer = $this->saveProductListCustomerRelation(
            $productListTransfer,
            $productListCustomerRelationTransfer
        );

        return $productListTransfer;
    }
596589
public function update(RestCompaniesRequestTransfer $restCompaniesRequestTransfer): RestCompaniesResponseTransfer
    {
        $companyTransfer = $this->companiesRestApiRepository
            ->findCompanyByExternalReference($restCompaniesRequestTransfer->getId());

        if ($companyTransfer === null) {
            return $this->createCompanyFailedToLoadErrorResponseTransfer();
        }

        foreach ($this->companyMapperPlugins as $companyMapperPlugin) {
            $companyTransfer = $companyMapperPlugin->map(
                $restCompaniesRequestTransfer->getRestCompaniesRequestAttributes(),
                $companyTransfer
            );
        }

        try {
            $companyResponseTransfer = $this->companyFacade->update($companyTransfer);
        } catch (PropelException $e) {
            return $this->createCompanyDataInvalidErrorResponse();
        }

        if (!$companyResponseTransfer->getIsSuccessful()) {
            return $this->createCompanyDataInvalidErrorResponse();
        }

        return $this->createCompanyResponseTransfer(
            $companyResponseTransfer->getCompanyTransfer()
        );
    }
710425
protected function saveProductListCustomerRelation(
        ProductListTransfer $productListTransfer,
        ProductListCustomerRelationTransfer $productListCustomerRelationTransfer
    ): ProductListTransfer {
        $productListCustomerRelationTransfer->setIdProductList($productListTransfer->getIdProductList());

        $productListCustomerRelationTransfer = $this->getFacade()
            ->saveProductListCustomerRelation($productListCustomerRelationTransfer);

        $productListTransfer->setProductListCustomerRelation($productListCustomerRelationTransfer);

        return $productListTransfer;
    }
815374
public function getProductAbstractCollectionByBrand(BrandTransfer $brandTransfer): BrandProductAbstractRelationTransfer
    {
        $brandTransfer->requireIdBrand();

        return $this->brandProductRepository->getProductAbstractCollectionByBrandId($brandTransfer->getIdBrand());
    }
364070
protected function getComputopPaymentTransfer(
        OrderTransfer $orderTransfer,
        ComputopApiHeaderPaymentTransfer $computopApiHeaderPayment
    ): ComputopApiRequestTransfer {
        $computopApiRequestTransfer = $this->createPaymentTransfer($orderTransfer);
        $computopApiRequestTransfer->fromArray($computopApiHeaderPayment->toArray(), true);
        $computopApiRequestTransfer->setMerchantId($this->config->getMerchantId());
        $computopApiRequestTransfer->setCurrency($this->storeFacade->getCurrentStore()->getSelectedCurrencyIsoCode());

        $computopApiRequestTransfer->setMac(
            $this->computopApiService->generateEncryptedMac($computopApiRequestTransfer)
        );
        $computopApiRequestTransfer->setReqId($this->computopApiService->generateReqIdFromOrderTransfer($orderTransfer));
        $computopApiRequestTransfer->setRefNr($orderTransfer->getOrderReference());

        return $computopApiRequestTransfer;
    }
166772
public function import(?DataImporterConfigurationTransfer $dataImporterConfigurationTransfer = null): DataImporterReportTransfer
    {
        return $this->getFactory()->createProductDiscontinuedDataImport()->import($dataImporterConfigurationTransfer);
    }
1328176
protected function findTableTransferByRelation(array $relationTable, array $tableTransfers): PropelSchemaTableTransfer
    {
        $tableName = $relationTable['foreignTable'];

        $tableTransfer = $tableTransfers[$tableName] ?? new PropelSchemaTableTransfer();

        if ($tableTransfer->getTableName() === null) {
            $tableTransfer->setTableName($tableName);
        }

        $tableTransferPhpName = $tableTransfer->getPhpName();
        $phpName = $relationTable['phpName'];

        if ($tableTransferPhpName === null && $phpName !== null) {
            $tableTransfer->setPhpName($phpName);
        }

        return $tableTransfer;
    }
358573
protected function executeSaveProductListCustomerRelationTransaction(
        ProductListCustomerRelationTransfer $productListCustomerRelationTransfer
    ): ProductListCustomerRelationTransfer {
        $productListCustomerRelationTransfer->requireIdProductList();
        $idProductList = $productListCustomerRelationTransfer->getIdProductList();

        $requestedCustomerIds = $this->getRequestedCustomerIds($productListCustomerRelationTransfer);
        $relatedCustomerIds = $this->getRelatedCustomerIds($productListCustomerRelationTransfer);

        $saveCustomerIds = array_diff($requestedCustomerIds, $relatedCustomerIds);
        $deleteCustomerIds = array_diff($relatedCustomerIds, $requestedCustomerIds);

        $this->productListCustomerEntityManager->addCustomerRelations($idProductList, $saveCustomerIds);
        $this->productListCustomerEntityManager->removeCustomerRelations($idProductList, $deleteCustomerIds);

        return $productListCustomerRelationTransfer->setCustomerIds(
            $this->getRelatedCustomerIds($productListCustomerRelationTransfer)
        );
    }