Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 private function getManager($shift_id)
 {
     $shift = Shift::load($shift_id);
     $manager_id = $shift->manager_id;
     $manager = User::load($manager_id);
     return [$manager->jsonSerialize()];
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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();
 }