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);
     }
 }