public function btnSave_Click($strFormId, $strControlId, $strParameter) { $objPerson = $this->pnlPerson->Person; // Validate the Dates $dttDateArray = GroupParticipation::GetParticipationDatesArrayForPersonIdGroupIdGroupRoleId($objPerson->Id, $this->objGroup->Id, $this->lstRole->SelectedValue); // Add This One $dttDateArray[] = array($this->dtxDateStart->DateTime, $this->dtxDateEnd->DateTime); // If we have trouble trying to add it, let's redirect the user to the full record if (!GroupParticipation::IsValidDates($dttDateArray)) { QApplication::DisplayAlert('You are adding a participation that already exists. Taking you to this person\'s record for more information.'); return $this->ReturnTo('#' . $this->objGroup->Id . '/edit_participation/' . $objPerson->Id); } // Go ahead and create the record $this->objGroup->AddPerson($objPerson, $this->lstRole->SelectedValue, $this->dtxDateStart->DateTime, $this->dtxDateEnd->DateTime); return $this->ReturnTo('#' . $this->objGroup->Id); }
public function btnEditOkay_Click($strFormId, $strControlId, $strParameter) { // Validate Date Range $dttDateRangeArray = array(); foreach ($this->objParticipationArray as $intIndex => $objParticipation) { if (!($intIndex === $this->intEditParticipationIndex) && $objParticipation->GroupRoleId == $this->lstEditRole->SelectedValue) { $dttDateRangeArray[] = array($objParticipation->DateStart, $objParticipation->DateEnd); } } $dttDateRangeArray[] = array($this->dtxEditStart->DateTime, $this->dtxEditEnd->DateTime); usort($dttDateRangeArray, array($this, 'dttDateRangeArray_Sort')); if (!GroupParticipation::IsValidDates($dttDateRangeArray)) { $this->dtxEditStart->Warning = 'Invalid Dates'; return; } if (!is_null($this->intEditParticipationIndex)) { $objParticipation = $this->objParticipationArray[$this->intEditParticipationIndex]; $objParticipation->GroupRoleId = $this->lstEditRole->SelectedValue; $objParticipation->Group = $this->pnlContent->objGroup; $objParticipation->DateStart = $this->dtxEditStart->DateTime; $objParticipation->DateEnd = $this->dtxEditEnd->DateTime; } else { $objParticipation = new GroupParticipation(); $objParticipation->Person = $this->pnlContent->objPerson; $objParticipation->Group = $this->pnlContent->objGroup; $objParticipation->GroupRoleId = $this->lstEditRole->SelectedValue; $objParticipation->DateStart = $this->dtxEditStart->DateTime; $objParticipation->DateEnd = $this->dtxEditEnd->DateTime; $this->objParticipationArray[] = $objParticipation; } usort($this->objParticipationArray, array($this, 'objParticipationArray_Sort')); $this->intEditParticipationIndex = null; $this->dtgParticipations->Refresh(); $this->lblCurrentRoles_Refresh(); $this->dlgEdit->HideDialogBox(); }