private function buildQuote(Equipment $equipment, Rate $rate, RentalPeriod $requestedPeriod) { /** @var RentalPeriod $requestedPeriod */ /** @var Rate $rate */ $quantity = ceil($requestedPeriod->getDayCount() / $rate->getUnitDays()); $quote = new RateQuote($equipment); $quote->add(RateQuoteLineItem::make($rate, $quantity)); return $quote; }
/** * @param RentalPeriod $range * @return bool */ public function overlapsWithPeriod(RentalPeriod $range) { if (!$this->rentalPeriod) { return true; } return $this->rentalPeriod->overlapsWithRange($range); }
public function getTotalDayCount() { return $this->period->getDayCount(); }
/** * @param RentalPeriod $other * @return bool */ private function otherRangeBoundariesFallWithinThisRange(RentalPeriod $other) { return $this->isWithinRange($other->getStartDate()) || $this->isWithinRange($other->getEndDate()); }