Example #1
0
File: Cart.php Project: voku/cart
 /**
  * Insert an item into the cart
  *
  * @param  array $item An array of item data
  *
  * @return string       A unique item identifier
  * @throws \InvalidArgumentException
  */
 public function insert(array $item)
 {
     $this->checkArgs($item);
     $itemIdentifier = $this->createItemIdentifier($item);
     if ($this->has($itemIdentifier)) {
         $item['quantity'] = $this->item($itemIdentifier)->quantity + $item['quantity'];
         $this->update($itemIdentifier, $item);
         return $itemIdentifier;
     }
     if ($item['quantity'] < 1) {
         throw new \InvalidArgumentException('Quantity can not be less than 1');
     }
     $item = $this->createItem($itemIdentifier, $item);
     $this->store->insertUpdate($item);
     return $itemIdentifier;
 }