/**
  * Save the user in the db
  * @param User $user
  */
 function saveDatabase(User $user)
 {
     $save = array();
     $userExists = $this->userExists($user->getID());
     // Common fields
     $save['PIN'] = $user->getPIN();
     $save['name'] = $user->getName();
     // Update if it exists
     if ($userExists) {
         $primary = array('userID' => $user->getID());
         $this->getDB()->update(self::TABLE_USER, $save, $primary);
     } else {
         $save['userID'] = $user->getID();
         $save['role'] = $user instanceof Supervisor ? 'supervisor' : 'tutor';
         $this->getDB()->insert(self::TABLE_USER, $save);
     }
     // Fields for tutor
     if ($user instanceof Tutor) {
         // Save schedule
         self::$scheduleManager->save($user->getSchedule(), $user->getID());
         // Save timesheet TODO
         $save = array();
         $save['email'] = $user->getEmail();
         $save['phone'] = $user->getPhone();
         $save['bio'] = $user->getBio();
         $save['picture'] = $user->getPicture();
         // Update if it exists
         if ($userExists) {
             $primary = array('userID' => $user->getID());
             $this->getDB()->update(self::TABLE_TUTOR, $save, $primary);
         } else {
             $save['userID'] = $user->getID();
             $this->getDB()->insert(self::TABLE_TUTOR, $save);
         }
     }
 }