Example #1
0
 /**
  * @throws Exception\TodoNotOpen
  */
 public function markAsDone()
 {
     $status = TodoStatus::fromString('done');
     if (!$this->status->isOpen()) {
         throw Exception\TodoNotOpen::triedStatus($status, $this);
     }
     $this->recordThat(TodoWasMarkedAsDone::fromStatus($this->todoId, $this->status, $status));
 }
Example #2
0
 private function isExpired()
 {
     if (!$this->status->isOpen() || $this->status->isExpired()) {
         return false;
     }
     if ($this->deadline->isMet()) {
         return false;
     }
     return true;
 }