private function updateShift($input) { $shift = Shift::load($input['shift']); $shift = $shift->withData(['employee_id' => $input['employee_id'], 'start_time' => $input['start_time'], 'end_time' => $input['end_time']]); $shift->save(); return $shift->jsonSerialize(); }
private function getManager($shift_id) { $shift = Shift::load($shift_id); $manager_id = $shift->manager_id; $manager = User::load($manager_id); return [$manager->jsonSerialize()]; }
private function getManagerShifts($input) { $start_time = $input['start_time']; $end_time = $input['end_time']; $dbc = DatabaseConnection::getConnection(); $statement = $dbc->prepare("SELECT * FROM shifts" . " WHERE (start_time > :start_time AND start_time < :end_time)" . " OR (end_time > :start_time AND start_time < :end_time)" . " ORDER BY start_time"); $statement->execute(['start_time' => $start_time, 'end_time' => $end_time]); $shifts = []; while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $shifts[] = [Shift::load($row['id'])->jsonSerialize()]; } return $shifts; }
private function getCoworkers($shift_id) { $shift = Shift::load($shift_id); $start_time = $shift->start_time; $end_time = $shift->end_time; $dbc = DatabaseConnection::getConnection(); $statement = $dbc->prepare("SELECT * FROM shifts" . " WHERE (start_time >= :start_time AND start_time < :end_time)" . " OR (end_time >= :start_time AND end_time < :end_time)" . " ORDER BY start_time"); $statement->execute(['start_time' => $start_time, 'end_time' => $end_time]); $coworker_ids = []; while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { if (strcmp($row['employee_id'], $shift->employee_id) !== 0 && strcmp($row['employee_id'], '') !== 0) { $coworker_ids[] = $row['employee_id']; } } $coworkers = []; foreach ($coworker_ids as $coworker_id) { $coworkers[] = User::load($coworker_id)->name; } return $coworkers; }
private function createShift($id, $input) { $shift = new Shift(['id' => Shift::getNewId(), 'manager_id' => $id, 'employee_id' => $input['employee_id'], 'break' => '', 'start_time' => $input['start_time'], 'end_time' => $input['end_time']]); $shift->save(); return $shift->jsonSerialize(); }