/** * @return static */ public function withProductQuantityDiscounts() { $productQuantityDiscounts = $this->entity->getProductQuantityDiscounts(); if ($productQuantityDiscounts !== null) { foreach ($productQuantityDiscounts as $productQuantityDiscount) { $this->entityDTO->productQuantityDiscounts[] = $this->dtoBuilderFactory->getProductQuantityDiscountDTOBuilder($productQuantityDiscount)->build(); } } return $this; }
public function testCreateDefaults() { $price = new Price(); $this->assertSame(null, $price->origQuantityPrice); $this->assertSame(null, $price->unitPrice); $this->assertSame(null, $price->origQuantityPrice); $this->assertSame(null, $price->quantityPrice); $this->assertSame(0, count($price->getCatalogPromotions())); $this->assertSame(0, count($price->getProductQuantityDiscounts())); }
private function setDiscountNames() { $discountNames = []; foreach ($this->price->getCatalogPromotions() as $catalogPromotion) { $this->addCatalogPromotion($catalogPromotion); $discountNames[] = $catalogPromotion->getName(); } foreach ($this->price->getProductQuantityDiscounts() as $productQuantityDiscount) { $this->addProductQuantityDiscount($productQuantityDiscount); $discountNames[] = $productQuantityDiscount->getName(); } $this->discountNames = implode(', ', $discountNames); }
public static function add(Price $a, Price $b) { $price = clone $a; $price->unitPrice += $b->unitPrice; $price->origUnitPrice += $b->origUnitPrice; $price->quantityPrice += $b->quantityPrice; $price->origQuantityPrice += $b->origQuantityPrice; foreach ($b->getCatalogPromotions() as $catalogPromotion) { $price->addCatalogPromotion($catalogPromotion); } foreach ($b->getProductQuantityDiscounts() as $productQuantityDiscount) { $price->addProductQuantityDiscount($productQuantityDiscount); } return $price; }