/** * Marks every order's items as received * * @return string|null */ function receive() { $this->loadRefsOrderItems(); // we mark all the items as received foreach ($this->_ref_order_items as $item) { if (!$item->isReceived()) { $reception = new CProductOrderItemReception(); $reception->quantity = $item->quantity - $item->_quantity_received; $reception->order_item_id = $item->_id; $reception->date = CMbDT::dateTime(); if ($msg = $reception->store()) { return $msg; } } } return null; }
/** * Receive the order item * * @param int $quantity Quantity * @param null $code Code * * @return null|string */ function receive($quantity, $code = null) { if ($this->_id) { $reception = new CProductOrderItemReception(); $reception->order_item_id = $this->_id; $reception->quantity = $quantity; $reception->date = CMbDT::dateTime(); $reception->code = $code; return $reception->store(); } else { return "{$this->_class}::receive failed : order_item must be stored before"; } }