/** * save the items * * @param unknown $sender * @param unknown $param * @throws Exception * */ public function deactivateItems($sender, $param) { $results = $errors = array(); try { $class = trim($this->_focusEntity); $id = isset($param->CallbackParameter->item_id) ? $param->CallbackParameter->item_id : array(); $creditNote = CreditNote::get($id); if (!$creditNote instanceof CreditNote) { throw new Exception('Invalid Credit Note passed in'); } $creditNote->setActive(false)->save(); $results['item'] = $creditNote->getJson(array('order' => $creditNote->getOrder() instanceof Order ? '' : $creditNote->getOrder()->getJson(), 'customer' => $creditNote->getCustomer()->getJson())); } catch (Exception $ex) { $errors[] = $ex->getMessage() . $ex->getTraceAsString(); } $param->ResponseData = StringUtilsAbstract::getJson($results, $errors); }
/** * get Credit Note Items by credit note * * @param CreditNote|string $creditNote * @return Ambigous <NULL, unknown> */ public static function getByCreditNote($creditNote) { $creditNote = $creditNote instanceof CreditNote ? $creditNote : CreditNote::get(trim($creditNote)); $creditNote = $creditNote instanceof CreditNote ? $creditNote : (count($creditNotes = CreditNote::getAllByCriteria('creditNoteNo = ?', array(trim($creditNote)), true, 1, 1)) > 0 ? $creditNotes[0] : null); return $creditNote instanceof CreditNote ? count($items = self::getAllByCriteria('creditNoteId = ?', array($creditNote->getId()), true)) > 0 ? $items : null : null; }
/** * * @param unknown $sender * @param unknown $params */ public function addComments($sender, $params) { $results = $errors = array(); try { Dao::beginTransaction(); if (!isset($params->CallbackParameter->creditNote) || !($creditNote = CreditNote::get($params->CallbackParameter->creditNote->id)) instanceof CreditNote) { throw new Exception('System Error: invalid CreditNote passed in!'); } if (!isset($params->CallbackParameter->comments) || ($comments = trim($params->CallbackParameter->comments)) === '') { throw new Exception('System Error: invalid comments passed in!'); } $comment = Comments::addComments($creditNote, $comments, Comments::TYPE_NORMAL); $results = $comment->getJson(); Dao::commitTransaction(); } catch (Exception $ex) { Dao::rollbackTransaction(); $errors[] = $ex->getMessage(); } $params->ResponseData = StringUtilsAbstract::getJson($results, $errors); }