Example #1
0
 public function work()
 {
     if ($this->allWork->isAllWorkDone() && $this->currentTask->getWorkingHours() == 0) {
         echo 'No more tasks !!!' . PHP_EOL;
         return true;
     }
     if ($this->hoursLeft == 0) {
         $this->startWorkingDay();
     }
     if (!$this->getCurrentTask()) {
         $this->setCurrentTask($this->allWork->getNextTask());
     }
     if ($this->currentTask->getWorkingHours() >= $this->hoursLeft) {
         echo $this->name . ' is working on task ' . $this->currentTask->getName() . ' for ' . $this->hoursLeft . ' hours.' . PHP_EOL;
         $this->currentTask->setWorkingHours($this->currentTask->getWorkingHours() - $this->hoursLeft);
         $this->hoursLeft = 0;
     } else {
         echo $this->name . ' is working on task ' . $this->currentTask->getName() . ' for ' . $this->currentTask->getWorkingHours() . ' hours.' . PHP_EOL;
         $this->hoursLeft = $this->hoursLeft - $this->currentTask->getWorkingHours();
         $this->currentTask->setWorkingHours('0');
         if (!$this->allWork->isAllWorkDone()) {
             $this->setCurrentTask($this->allWork->getNextTask());
         }
     }
     if ($this->hoursLeft > 0) {
         $this->work();
     }
 }