* @version 0.0.0 * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ class CompanyEmployee extends SimulatorPersonell { // Employeee list private $employeeList = null; // Constructor protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); // Set description $this->setObjectDescription("Firmenangestellte(r)"); // Create unique ID $this->createUniqueID(); // Clean up a little $this->removeSystemArray(); } // Generate a specified amount of personell public final static function createCompanyEmployee ($surname, $family, $gender, $year, $month, $day, $married, $salary) { // Get instance $personellInstance = new CompanyEmployee(); // Debug message if (((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) { $personellInstance->getDebugInstance()->output(sprintf("[%s:%d] Der/Die Angestellte %s %s wird angelegt.
\n", __CLASS__, __LINE__, $surname, $family )); } // Ist the given birthday valid? if ($personellInstance->isDateValid($year, $month, $day)) { // Set birthday $personellInstance->setBirthday($year, $month, $day); } else { // Something is wrong ... throw new BirthdayInvalidException(array($year, $month, $day), self::EXCEPTION_BIRTH_DATE_IS_INVALID); } // Set as employed/marrital status $personellInstance->setEmployed(true); $personellInstance->setMarried($married); // Set surname/family/gender $personellInstance->setSurname($surname); $personellInstance->setFamily($family); $personellInstance->setGender($gender); // Set salary $personellInstance->increaseSalary($salary); // Tidy up a little $personellInstance->removeEmployeeList(); $personellInstance->removeMinMaxAge(); // Return prepared instance return $personellInstance; } // Remove the employee list private function removeEmployeeList () { if (((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) { $this->getDebugInstance()->output(sprintf("[%s:%d] Angestellten-List entfernt.
\n", __CLASS__, __LINE__ )); } unset($this->employeeList); } /** * Call parent method */ public function saveObjectToDatabase () { parent::saveObjectToDatabase(); } /** * Limits this object with an ObjectLimits instance */ public function limitObject (ObjectLimits $limitInstance) { parent::limitObject($limitInstance); } } // [EOF] ?>