public function save(Default_Model_Contact $value) { global $application; $data = array(); if (!isnull($value->getId())) { $data['id'] = $value->getId(); } if (!isnull($value->getResearcherID())) { $data['researcherid'] = $value->getResearcherID(); } if (!isnull($value->getContactTypeID())) { $data['contacttypeid'] = $value->getContactTypeID(); } if (!isnull($value->getData())) { $data['data'] = $value->getData(); } if (!isnull($value->getIsPrimary())) { $data['isprimary'] = $this->pgBool($value->getIsPrimary()); } $q1 = 'id = ?'; $q2 = $value->id; if (null === ($id = $value->id)) { unset($data['id']); $value->id = $this->getDbTable()->insert($data); } else { $s = $this->getDbTable()->getAdapter()->quoteInto($q1, $q2); $this->getDbTable()->update($data, $s); } }