/** * Takes a reference to a Student object and a SOAP response, * Plugs the SOAP values into Student object. * * @param Student $student * @param Array $data */ protected function plugValues(&$student, array $data) { /** * Basic Demographics * */ $student->setBannerId($data['ID']); $student->setUsername($data['userName']); $student->setFirstName($data['firstName']); $student->setLastName($data['lastName']); $student->setPreferredName($data['preferredName']); /** * Academic Info */ // Level (grad vs undergrad) if ($data['studentLevel'] == self::UNDERGRAD) { $student->setLevel(Student::UNDERGRAD); } elseif ($data['studentLevel'] == self::GRADUATE) { $student->setLevel(Student::GRADUATE); } elseif ($data['studentLevel'] == self::GRADUATE2) { $student->setLevel(Student::GRADUATE2); } elseif ($data['studentLevel'] == self::DOCTORAL) { $student->setLevel(Student::DOCTORAL); } elseif ($data['studentLevel'] == self::POSTDOC) { $student->setLevel(Student::POSTDOC); } else { throw new \InvalidArgumentException("Unrecognized student level ({$data['studentLevel']}) for {$data->banner_id}."); } // Credit Hours $student->setCreditHours(isset($data['creditHoursEnrolled']) ? $data['creditHoursEnrolled'] : 0); // Type $student->setStudentType($data['studentType']); // Classification //TODO Check the API's actual format and possible values for this field $student->setClass($data['classification']); // College $student->setCollegeCode($data['collegeCode']); $student->setCollegeDesc($data['collegeDesc']); }