/**
  * @todo Description of function deletePersona
  * @param  $id
  * @param  $batchId
  * @return
  */
 public function delete_persona($id, $batch_id)
 {
     RP_Dao_Factory::get_rp_indi_note_dao($this->prefix)->delete_by_indi_id($id, $batch_id);
     RP_Dao_Factory::get_rp_indi_event_dao($this->prefix)->delete_by_indi_id($id, $batch_id);
     RP_Dao_Factory::get_rp_indi_cite_dao($this->prefix)->delete_by_indi_id($id, $batch_id);
     RP_Dao_Factory::get_rp_indi_name_dao($this->prefix)->delete_by_indi_id($id, $batch_id);
     RP_Dao_Factory::get_rp_indi_dao($this->prefix)->delete($id, $batch_id);
 }
 /**
  *
  * @param RP_Individual_Record $person
  */
 function update_names($person)
 {
     $old_names = RP_Dao_Factory::get_rp_indi_name_dao($this->credentials->prefix)->load_list($person->id, $this->batch_id);
     if ($old_names != null && count($old_names) > 0) {
         foreach ($old_names as $name) {
             RP_Dao_Factory::get_rp_name_personal_dao($this->credentials->prefix)->delete($name->name_id);
         }
         RP_Dao_Factory::get_rp_indi_name_dao($this->credentials->prefix)->delete_by_indi_id($person->id, $this->batch_id);
         $this->transaction->commit_no_close();
     }
     $seq = 1;
     foreach ($person->names as $p_name) {
         $name = new RP_Name_Personal();
         $name->personal_name = $p_name->get_name();
         $name->name_type = $p_name->rp_name->type;
         $name->prefix = $p_name->rp_name->pieces->prefix;
         $g_name = $p_name->rp_name->get_given();
         $name->given = $g_name === null ? '' : $g_name;
         $name->nickname = $p_name->rp_name->pieces->nick_name;
         $name->surname_prefix = $p_name->rp_name->pieces->surname_prefix;
         $s_name = $p_name->rp_name->get_surname();
         $name->surname = $s_name === null ? '' : $s_name;
         $name->suffix = $p_name->rp_name->pieces->suffix;
         $id = null;
         try {
             $id = RP_Dao_Factory::get_rp_name_personal_dao($this->credentials->prefix)->insert($name);
         } catch (Exception $e) {
             error_log($e->getMessage() . "::" . RP_Persona_Helper::trace_caller(), 0);
             echo $e->getMessage();
             throw $e;
         }
         $indi_name = new RP_Indi_Name();
         $indi_name->indi_id = $person->id;
         $indi_name->indi_batch_id = $this->batch_id;
         $indi_name->name_id = $id;
         $indi_name->seq_nbr = $seq++;
         try {
             $id = RP_Dao_Factory::get_rp_indi_name_dao($this->credentials->prefix)->insert($indi_name);
         } catch (Exception $e) {
             error_log($e->getMessage() . "::" . RP_Persona_Helper::trace_caller(), 0);
             echo $e->getMessage();
             throw $e;
         }
     }
 }