Example #1
0
 /**
  * Adds Variants of a CartProduct to Order Item
  *
  * @param \Extcode\Cart\Domain\Model\Cart\Product $product CartProduct
  *
  * @return void
  */
 protected function addProductVariants(\Extcode\Cart\Domain\Model\Cart\Product $product)
 {
     foreach ($product->getBeVariants() as $variant) {
         /**
          * Cart Variant
          * @var \Extcode\Cart\Domain\Model\Cart\BeVariant $variant
          */
         if ($variant->getBeVariants()) {
             $this->addVariantsOfVariant($variant, 1);
         } else {
             $this->addBeVariant($variant, 1);
         }
     }
 }
Example #2
0
 /**
  * @param \Extcode\Cart\Domain\Model\Cart\Product $product
  *
  * @param array $productVariantIds
  *
  * @return bool
  */
 public function removeproduct($product, $productVariantIds = null)
 {
     if (is_array($productVariantIds)) {
         $product->removeBeVariants($productVariantIds);
         if (!$product->getBeVariants()) {
             unset($this->products[$product->getId()]);
         }
         $this->calcAll();
     } else {
         $this->subCount($product->getQuantity());
         $this->subGross($product->getGross());
         $this->subNet($product->getNet());
         $this->subTax($product->getTax(), $product->getTaxClass());
         unset($this->products[$product->getId()]);
     }
     return true;
 }