3namespace Sale\Handlers\Delivery\YandexTaxi\ClaimBuilder;
6use Bitrix\Main\Localization\Loc;
7use Sale\Handlers\Delivery\YandexTaxi\Api\RequestEntity\ShippingItem;
15final class ShippingItemCollection
implements \IteratorAggregate
24 public function addItem(ShippingItem $item)
26 $this->items[] = $item;
34 public function isValid(): Result
40 return $result->addError(
new Error(Loc::getMessage(
'SALE_YANDEX_TAXI_EMPTY_PRODUCT_LIST')));
43 foreach ($this->items as $item)
45 if ($item->getQuantity() <= 0)
47 return $result->addError(
new Error(Loc::getMessage(
'SALE_YANDEX_TAXI_PRODUCT_EMPTY_QUANTITY')));
57 public function getIterator()
59 return new \ArrayIterator($this->items);