public function constructNewAgent($type, $firstname, $middlename, $familyname, $name, $notes = '') { $result = new Agent(); $result->setType($type); if (strlen($notes) > 0) { $result->setnotes($notes); } switch ($type) { case 'Individual': $result->setfamilyname($familyname); $result->setfirstname($firstname); $result->setmiddlename($middlename); break; case 'Team': case 'Organization': $result->setnamestring($name); break; default: throw new Exception("Unable to construct agent. Unknown agent type [{$type}]"); } return $result; }