/** * @param TodoId $todoId * @param UserId $userId * @param TodoDeadline $deadline * @return DeadlineWasAddedToTodo */ public static function byUserToDate(TodoId $todoId, UserId $userId, TodoDeadline $deadline) { $event = self::occur($todoId->toString(), ['todo_id' => $todoId->toString(), 'user_id' => $userId->toString(), 'deadline' => $deadline->toString()]); $event->todoId = $todoId; $event->userId = $userId; $event->deadline = $deadline; return $event; }
/** * @param TodoDeadline $deadline * @param TodoStatus $status * @return TodoNotOpen */ public static function triedToAddDeadline(TodoDeadline $deadline, TodoStatus $status) { return new self(sprintf('Tried to deadline %s to a todo with status %s.', $deadline->toString(), $status->toString())); }
public static function deadlineInThePast(TodoDeadline $deadline) { return new self(sprintf('Provided deadline %s is in the past from %s', $deadline->toString(), $deadline->createdOn())); }
/** * @param TodoStatus $status * @param Todo $todo * @return TodoNotExpired */ public static function withDeadline(TodoDeadline $deadline, Todo $todo) { return new self(sprintf('Tried to mark a non-expired Todo as expired. Todo will expire after the deadline %s.', $deadline->toString())); }