/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Generated\Shared\Transfer\ItemTransfer $currentItemTransfer * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer * * @return bool */ public function isSatisfiedBy(QuoteTransfer $quoteTransfer, ItemTransfer $currentItemTransfer, ClauseTransfer $clauseTransfer) { if (!$quoteTransfer->getTotals()) { return false; } $this->moneyValueConverter->convertDecimalToCent($clauseTransfer); return $this->comparators->compare($clauseTransfer, $quoteTransfer->getTotals()->getSubtotal()); }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer * * @return \Generated\Shared\Transfer\DiscountableItemTransfer[] */ public function collect(QuoteTransfer $quoteTransfer, ClauseTransfer $clauseTransfer) { $this->currencyConverter->convertDecimalToCent($clauseTransfer); $discountableItems = []; foreach ($quoteTransfer->getItems() as $itemTransfer) { if ($this->comparators->compare($clauseTransfer, $itemTransfer->getUnitGrossPrice()) === false) { continue; } $discountableItems[] = $this->createDiscountableItemTransfer($itemTransfer->getUnitGrossPrice(), $itemTransfer->getQuantity(), $itemTransfer->getCalculatedDiscounts()); } return $discountableItems; }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Generated\Shared\Transfer\ItemTransfer $currentItemTransfer * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer * * @return bool */ public function isSatisfiedBy(QuoteTransfer $quoteTransfer, ItemTransfer $currentItemTransfer, ClauseTransfer $clauseTransfer) { $this->moneyValueConverter->convertDecimalToCent($clauseTransfer); return $this->comparators->compare($clauseTransfer, $currentItemTransfer->getUnitGrossPrice()); }