Esempio n. 1
0
 /**
  * Create function for the internal usage of the rest api.
  * Used from the article resource. This function supports
  * to pass an updated article entity which isn't updated in the database.
  * Required for the article resource if the article data is already updated
  * in the entity but not in the database.
  *
  * @param array $data
  * @param ArticleModel $article
  * @return Detail
  * @throws \Shopware\Components\Api\Exception\ValidationException
  */
 public function internalCreate(array $data, ArticleModel $article)
 {
     $variant = new Detail();
     $variant->setKind(2);
     $variant->setArticle($article);
     $data = $this->prepareData($data, $article, $variant);
     $variant->fromArray($data);
     $this->getManager()->persist($variant);
     return $variant;
 }
 /**
  * {@inheritDoc}
  */
 public function setArticle(\Shopware\Models\Article\Article $article)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setArticle', array($article));
     return parent::setArticle($article);
 }
Esempio n. 3
0
 /**
  * Helper function which converts the passed data for the main variant of the article.
  * @param array $data
  * @param ArticleModel $article
  * @return array
  */
 public function prepareMainDetail(array $data, ArticleModel $article)
 {
     $detail = $article->getMainDetail();
     if (!$detail) {
         $detail = new Detail();
         $detail->setKind(1);
         $detail->setArticle($article);
         $article->setMainDetail($detail);
     }
     $data['mainDetail'] = $this->getVariantResource()->prepareMainVariantData($data['mainDetail'], $article, $detail);
     return $data;
 }