protected static function GenerateMembershipsForIndividual(Person $objPerson, QDateTime $dttEarliestPossible, $intMembershipCount) { for ($i = 0; $i < $intMembershipCount; $i++) { $objMembership = new Membership(); $objMembership->Person = $objPerson; $dttDateStart = QDateTime::Now(); $dttDateStart = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateStart); $dttDateStart = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateStart); $dttDateStart = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateStart); $dttDateStart = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateStart); $objMembership->DateStart = $dttDateStart; $dttEarliestPossible = new QDateTime($dttDateStart); if ($i + 1 != $intMembershipCount || !rand(0, 3)) { $dttDateEnd = QDateTime::Now(); $dttDateEnd = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateEnd); $dttDateEnd = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateEnd); $dttDateEnd = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateEnd); $dttDateEnd = QDataGen::GenerateDateTime($dttEarliestPossible, $dttDateEnd); $objMembership->DateEnd = $dttDateEnd; $dttEarliestPossible = new QDateTime($dttDateEnd); $objMembership->TerminationReason = QDataGen::GenerateContent(1, 3, 10); } $objMembership->Save(); } $objPerson->RefreshMembershipStatusTypeId(); }
protected function SaveMarriage() { // Marriage remains "Not Specified" if (is_null($this->lstMarriageStatusType->SelectedValue)) { return; } // Person is explicitly Single if (!$this->lstMarriageStatusType->SelectedValue) { $this->mctPerson->Person->MaritalStatusTypeId = MaritalStatusType::Single; return; } // Person is married -- but no spouse information provided if ($this->rblSpouseMembership->SelectedValue == 3) { $this->mctMarriage->Marriage->Person = $this->mctPerson->Person; $this->mctMarriage->SaveMarriage(); $this->mctPerson->Person->RefreshMaritalStatusTypeId(false); return; } // Person is married -- and spouse information is provided $this->SaveSpouse(); $this->mctPerson->Person->CreateMarriageWith($this->mctSpouse->Person, $this->dtxDateOfMarriage->DateTime, null, $this->lstMarriageStatusType->SelectedValue); // Add Spouse as Member? if ($this->rblSpouseMembership->SelectedValue == 1 && $this->chkMembershipFlag->Checked) { $objMembership = new Membership(); $objMembership->Person = $this->mctSpouse->Person; $objMembership->DateStart = $this->dtxDateOfMembership->DateTime; $objMembership->Save(); $this->mctSpouse->Person->RefreshMembershipStatusTypeId(false); } }