/** * Update serial numbers * * @param unknown $sender * @param unknown $params * * @throws Exception */ public function updateSerials($sender, $params) { $results = $errors = array(); try { Dao::beginTransaction(); if (!isset($params->CallbackParameter->orderItemId) || !($orderItem = OrderItem::get($params->CallbackParameter->orderItemId)) instanceof OrderItem) { throw new Exception('System Error: invalid order item passed in!'); } if (!isset($params->CallbackParameter->sellingitem)) { throw new Exception('System Error: invalid sellingitem passed in!'); } $sellingItemObj = $params->CallbackParameter->sellingitem; $sellingItem = null; if (isset($sellingItemObj->id) && !($sellingItem = SellingItem::get(trim($sellingItemObj->id))) instanceof SellingItem) { throw new Exception('System Error: invalid selling item id passed in!'); } $serialNo = isset($sellingItemObj->serialNo) ? trim($sellingItemObj->serialNo) : ''; if ($sellingItem instanceof SellingItem) { if ($serialNo === '' || isset($sellingItemObj->active) && intval($sellingItemObj->active) !== 1) { $sellingItem->setActive(false)->save(); } else { $sellingItem->setSerialNo($serialNo)->save(); } } else { if (!isset($sellingItemObj->active) || isset($sellingItemObj->active) && intval($sellingItemObj->active) === 1) { $sellingItem = SellingItem::create($orderItem, $serialNo); } } $results['orderItem'] = OrderItem::get($orderItem->getId())->getJson(); Dao::commitTransaction(); } catch (Exception $ex) { Dao::rollbackTransaction(); $errors[] = $ex->getMessage(); } $params->ResponseData = StringUtilsAbstract::getJson($results, $errors); }
/** * Add a selling item * * @param string $serialNo * @param string $description * @param SellingItem $newSellingItem * * @return OrderItem */ public function addSellingItem($serialNo, $description = '', SellingItem &$newSellingItem = null) { $newSellingItem = SellingItem::create($this, $serialNo, $description); return self::get($this->getId()); }