/**
  * @return string
  */
 protected function getExportFile()
 {
     $result = $this->getContainer()->get('oro_importexport.handler.export')->handleExport('price_list_product_prices_export_to_csv', 'orob2b_pricing_product_price', ProcessorRegistry::TYPE_EXPORT, 'csv', null, ['price_list_id' => $this->priceList->getId()]);
     $result = json_decode($result->getContent(), true);
     $chains = explode('/', $result['url']);
     return $this->getContainer()->get('oro_importexport.file.file_system_operator')->getTemporaryFile(end($chains))->getRealPath();
 }
 /**
  * @param Website $website
  * @param PriceList $priceList
  */
 public function setPriceListToWebsite(Website $website, PriceList $priceList = null)
 {
     $oldPriceList = $this->getPriceListByWebsite($website);
     if ($oldPriceList && $priceList && $oldPriceList->getId() === $priceList->getId()) {
         return;
     }
     if ($oldPriceList) {
         $oldPriceList->removeWebsite($website);
     }
     if ($priceList) {
         $priceList->addWebsite($website);
     }
 }
 /**
  * @param Product $product
  * @param ProductUnit $productUnit
  * @param float $quantity
  * @param string $currency
  * @param PriceList $priceList
  * @return Price
  */
 protected function getPrice(Product $product, ProductUnit $productUnit, $quantity, $currency, PriceList $priceList)
 {
     $productUnitQuantity = new ProductUnitQuantity($product, $productUnit, $quantity);
     $identifier = $productUnitQuantity->getIdentifier();
     if (!isset($this->prices[$priceList->getId()][$currency][$identifier])) {
         $prices = $this->productPriceProvider->getMatchedPrices([$productUnitQuantity], $currency, $priceList);
         $this->prices[$priceList->getId()][$currency][$identifier] = $prices[$identifier];
     }
     $price = $this->prices[$priceList->getId()][$currency][$identifier];
     return $price ?: Price::create(mt_rand(10, 1000), $currency);
 }