/** * @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) { $currentTime = $this->convertToSeconds($this->getCurrentTime()); $compareWithTime = $this->convertToSeconds($clauseTransfer->getValue()); $clauseTransfer->setValue($compareWithTime); return $this->comparators->compare($clauseTransfer, $currentTime); }
/** * @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) { $discountableItems = []; foreach ($quoteTransfer->getItems() as $itemTransfer) { if ($this->comparators->compare($clauseTransfer, $itemTransfer->getSku()) === 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) { $totalQuantity = $this->getQuoteItemQuantity($quoteTransfer); return $this->comparators->compare($clauseTransfer, $totalQuantity); }
/** * @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()); }
/** * @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) { $currentMonth = $this->getCurrentMonth(); return $this->comparators->compare($clauseTransfer, $currentMonth); }
/** * @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) { return $this->comparators->compare($clauseTransfer, $currentItemTransfer->getSku()); }
/** * @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) { $calendarWeek = $this->getCalendarWeek(); return $this->comparators->compare($clauseTransfer, $calendarWeek); }