Example #1
0
 private function inspectAndFixProductOptionsIds(\Ess\M2ePro\Model\Listing\Product $listingProduct, $magentoVariations)
 {
     /** @var \Ess\M2ePro\Model\Listing\Product\Variation[] $listingProductVariations */
     $listingProductVariations = $listingProduct->getVariations(true);
     if (empty($listingProductVariations)) {
         return;
     }
     foreach ($listingProductVariations as $listingProductVariation) {
         $listingProductVariationOptions = $listingProductVariation->getOptions();
         foreach ($magentoVariations as $magentoVariation) {
             $magentoVariationOptions = $magentoVariation['options'];
             if (!$this->isEqualVariations($magentoVariationOptions, $listingProductVariationOptions)) {
                 continue;
             }
             foreach ($listingProductVariationOptions as $listingProductVariationOption) {
                 foreach ($magentoVariationOptions as $magentoVariationOption) {
                     if ($listingProductVariationOption['attribute'] != $magentoVariationOption['attribute'] || $listingProductVariationOption['option'] != $magentoVariationOption['option']) {
                         continue;
                     }
                     if ($listingProductVariationOption['product_id'] == $magentoVariationOption['product_id']) {
                         continue;
                     }
                     $listingProductVariationOption['product_id'] = $magentoVariationOption['product_id'];
                     $this->getHelper('Component\\Ebay')->getModel('Listing\\Product\\Variation\\Option')->setData($listingProductVariationOption)->save();
                 }
             }
         }
     }
 }
Example #2
0
 private function updateListingsProductChange(\Ess\M2ePro\Model\Listing\Product $listingProduct)
 {
     $this->activeRecordFactory->getObject('ProductChange')->addUpdateAction($listingProduct->getProductId(), \Ess\M2ePro\Model\ProductChange::INITIATOR_INSPECTOR);
     foreach ($listingProduct->getVariations(true) as $variation) {
         /** @var $variation \Ess\M2ePro\Model\Listing\Product\Variation */
         foreach ($variation->getOptions(true) as $option) {
             /** @var $option \Ess\M2ePro\Model\Listing\Product\Variation\Option */
             $this->activeRecordFactory->getObject('ProductChange')->addUpdateAction($option->getProductId(), \Ess\M2ePro\Model\ProductChange::INITIATOR_INSPECTOR);
         }
     }
 }