/** * Retriving candidates based on the search criteria * @param CandidateSearchParameters $searchParam * @return CandidateSearchParameters */ public function searchCandidates($searchCandidateQuery) { try { $pdo = Doctrine_Manager::connection()->getDbh(); $res = $pdo->query($searchCandidateQuery); $candidateList = $res->fetchAll(); $candidatesList = array(); foreach ($candidateList as $candidate) { $param = new CandidateSearchParameters(); $param->setVacancyName($candidate['name']); $param->setVacancyStatus($candidate['vacancyStatus']); $param->setCandidateId($candidate['id']); $param->setVacancyId($candidate['vacancyId']); $param->setCandidateName($candidate['first_name'] . " " . $candidate['middle_name'] . " " . $candidate['last_name'] . $this->_getCandidateNameSuffix($candidate['candidateStatus'])); $employeeName = $candidate['emp_firstname'] . " " . $candidate['emp_middle_name'] . " " . $candidate['emp_lastname']; $hmName = !empty($candidate['termination_id']) ? $employeeName . " (" . __("Past Employee") . ")" : $employeeName; $param->setHiringManagerName($hmName); $param->setDateOfApplication($candidate['date_of_application']); $param->setAttachmentId($candidate['attachmentId']); $param->setStatusName(ucwords(strtolower($candidate['status']))); $referralName = $candidate['ref_firstname'] . " " . $candidate['ref_middle_name'] . " " . $candidate['ref_lastname']; $param->setReferralName($referralName); $candidatesList[] = $param; } return $candidatesList; } catch (Exception $e) { throw new DaoException($e->getMessage()); } }