Example #1
0
 /**
  * @return null
  * @throws Exception\TodoNotExpired
  */
 public function unmarkAsExpired()
 {
     $status = TodoStatus::fromString(TodoStatus::OPEN);
     if (!$this->isMarkedAsExpired()) {
         throw Exception\TodoNotExpired::withDeadline($this->deadline, $this);
     }
     $this->recordThat(TodoWasUnmarkedAsExpired::fromStatus($this->todoId, $this->status, $status));
 }