private function addCartAmountControls() { $container = $this->addContainer('amount'); foreach ($this->cart->getItems() as $item) { $errorMessage = 'Amount must be positive number.'; $container->addText($item->getId(), 'Amount')->setType('number')->setDefaultValue($item->getAmount())->addRule(self::INTEGER, $errorMessage)->addRule(self::RANGE, $errorMessage, [1, null]); } return $container; }
public function __construct(Cart $cart, $number, PaymentType $paymentType) { if (count($cart->getItems()) === 0) { throw new InvalidEnumException('Cannot create order from empty cart.'); } if (strlen($number) !== self::NUMBER_LENGTH) { throw new EntityInvalidArgumentException(sprintf('Order number length must be exactly %d characters.', self::NUMBER_LENGTH)); } $this->number = $number; $this->paymentType = $paymentType->getValue(); $cart->setOrder($this); $this->cart = $cart; }