/** * Saves a issue entry at storage layer level (insert or update) * @param Project_Model_Issue $issue * @throws Exception if update process failed * @return mixed const */ public function save(Project_Model_Issue $issue) { $issueMapper = new Project_Model_Mapper_Issue(); if ((int) $issue->getId() !== 0) { try { $issueMapper->update($issue); return self::ISSUE_UPDATED; } catch (Exception $e) { return self::ISSUE_UPDATE_FAILED; } } else { try { $issueMapper->insert($issue); return self::ISSUE_CREATED; } catch (Exception $e) { return self::ISSUE_CREATED_FAILED; } } }
private function _objectToRow(Project_Model_Issue $issue) { $issueRow['iss_id'] = $issue->getId(); $issueRow['iss_name'] = $issue->getName(); $issueRow['iss_desc'] = $issue->getDescription(); $issueRow['istyp_id'] = $issue->getType()->getId(); $issueRow['istut_id'] = $issue->getStatus()->getId(); $issueRow['iss_date'] = $issue->getDate(); $issueRow['usm_id'] = $issue->getUser()->getId(); $issueRow['proj_id'] = $issue->getProject()->getId(); return $issueRow; }