/**
  * @param \Generated\Shared\Transfer\ProductConcreteTransfer $productConcreteTransfer
  *
  * @return bool
  */
 public function writeProduct(ProductConcreteTransfer $productConcreteTransfer)
 {
     $this->productStatement->execute([':sku' => $productConcreteTransfer->getSku(), ':isActive' => (int) $productConcreteTransfer->getIsActive(), ':attributes' => json_encode($productConcreteTransfer->getAttributes()), ':productAbstractSku' => $productConcreteTransfer->getProductAbstractSku()]);
     foreach ($productConcreteTransfer->getLocalizedAttributes() as $localizedAttributes) {
         $this->attributesStatement->execute([':productSku' => $productConcreteTransfer->getSku(), ':name' => $localizedAttributes->getName(), ':attributes' => json_encode($localizedAttributes->getAttributes()), ':fkLocale' => $this->localeTransfer->getIdLocale()]);
     }
     return true;
 }
Example #2
0
 /**
  * @param \Generated\Shared\Transfer\ProductConcreteTransfer $productConcreteTransfer
  *
  * @return void
  */
 protected function createProductConcreteAttributes(ProductConcreteTransfer $productConcreteTransfer)
 {
     $idProductConcrete = $productConcreteTransfer->getIdProductConcrete();
     foreach ($productConcreteTransfer->getLocalizedAttributes() as $localizedAttributes) {
         $locale = $localizedAttributes->getLocale();
         $this->checkProductConcreteAttributesDoNotExist($idProductConcrete, $locale);
         $encodedAttributes = $this->encodeAttributes($localizedAttributes->getAttributes());
         $productAttributeEntity = new SpyProductLocalizedAttributes();
         $productAttributeEntity->setFkProduct($idProductConcrete)->setFkLocale($locale->getIdLocale())->setName($localizedAttributes->getName())->setAttributes($encodedAttributes);
         $productAttributeEntity->save();
     }
 }