/** * @param DayAttendance $dayAttendance */ private function addDayAttendance(DayAttendance $dayAttendance) { $date = $dayAttendance->getArrival()->format('Y-m-d'); if (isset($this->dayAttendanceList[$date])) { throw new \InvalidArgumentException(); } $this->dayAttendanceList[$date] = $dayAttendance; }
/** * @param $dayAttendanceLine * @return DayAttendance */ public static function parseDayAttendanceLine($dayAttendanceLine) { if (!self::isValidDayAttendanceLine($dayAttendanceLine)) { throw new \InvalidArgumentException(); } list($date, $timeLine, $description) = self::explodeDayAttendanceLineParts($dayAttendanceLine); $times = explode(' ', $timeLine); $arrival = new \DateTime($date . ' ' . array_shift($times)); $departure = new \DateTime($date . ' ' . array_pop($times)); $pauseList = self::parsePauseBlocks($date, $times); $dayAttendance = new DayAttendance($arrival, $departure, $pauseList); $dayAttendance->setDescription($description); return $dayAttendance; }