/** * Creates a new Household record, and sets the HeadPerson as the Head of Household and HouseholdParticipant for this household * * This will throw an exception if the HeadPerson is already head of another household. * @param Person $objHeadPerson * @return Household */ public static function CreateHousehold(Person $objHeadPerson) { if (Household::LoadByHeadPersonId($objHeadPerson->Id)) { throw new QCallerException('HeadPerson is already head of another household'); } // Create the new Household record $objHousehold = new Household(); $objHousehold->HeadPerson = $objHeadPerson; $objHousehold->RefreshName(false); $objHousehold->CombinedStewardshipFlag = true; $objHousehold->Save(); $objHousehold->AssociatePerson($objHeadPerson); return $objHousehold; }