/**
  * @param TodoId $todoId
  * @param UserId $userId
  * @param TodoReminder $reminder
  * @return ReminderWasAddedToTodo
  */
 public static function byUserToDate(TodoId $todoId, UserId $userId, TodoReminder $reminder)
 {
     $event = self::occur($todoId->toString(), ['todo_id' => $todoId->toString(), 'user_id' => $userId->toString(), 'reminder' => $reminder->toString()]);
     $event->todoId = $todoId;
     $event->userId = $userId;
     $event->reminder = $reminder;
     return $event;
 }
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * @param TodoId $todoId
  * @param TodoStatus $status
  * @return TodoWasMarkedAsDone
  */
 public static function withStatus(TodoId $todoId, TodoStatus $status)
 {
     $event = self::occur($todoId->toString(), ['status' => $status->toString()]);
     $event->todoId = $todoId;
     $event->status = $status;
     return $event;
 }
 /**
  * @param TodoId $todoId
  * @param UserId $userId
  * @param TodoReminder $reminder
  * @return TodoAssigneeWasReminded
  */
 public static function forAssignee(TodoId $todoId, UserId $userId, TodoReminder $reminder)
 {
     $event = self::occur($todoId->toString(), ['user_id' => $userId->toString(), 'reminder' => $reminder->toString(), 'reminder_status' => $reminder->status()->toString()]);
     $event->userId = $userId;
     $event->reminder = $reminder;
     return $event;
 }
Ejemplo n.º 5
0
 /**
  * @param UserId $assigneeId
  * @param string $text
  * @param TodoId $todoId
  * @param TodoStatus $todoStatus
  * @return TodoWasPosted
  */
 public static function byUser(UserId $assigneeId, $text, TodoId $todoId, TodoStatus $todoStatus)
 {
     $event = self::occur($todoId->toString(), ['assignee_id' => $assigneeId->toString(), 'text' => $text, 'status' => $todoStatus->toString()]);
     $event->todoId = $todoId;
     $event->assigneeId = $assigneeId;
     $event->todoStatus = $todoStatus;
     return $event;
 }
Ejemplo n.º 6
0
 /**
  * @param TodoId $todoId
  * @param TodoStatus $oldStatus
  * @param TodoStatus $newStatus
  * @return TodoWasMarkedAsDone
  */
 public static function fromStatus(TodoId $todoId, TodoStatus $oldStatus, TodoStatus $newStatus)
 {
     $event = self::occur($todoId->toString(), ['old_status' => $oldStatus->toString(), 'new_status' => $newStatus->toString()]);
     $event->todoId = $todoId;
     $event->oldStatus = $oldStatus;
     $event->newStatus = $newStatus;
     return $event;
 }
Ejemplo n.º 7
0
 /**
  *
  * @param TodoId $todoId
  * @param TodoReminder $todoReminder
  * @return RemindTodoAssignee
  */
 public static function forTodo(TodoId $todoId, TodoReminder $todoReminder)
 {
     return new self(['todo_id' => $todoId->toString(), 'reminder' => $todoReminder->toString(), 'reminder_status' => $todoReminder->status()->toString()]);
 }
Ejemplo n.º 8
0
 /**
  * @return string representation of the unique identifier of the aggregate root
  */
 protected function aggregateId()
 {
     return $this->todoId->toString();
 }
Ejemplo n.º 9
0
 /**
  * @param TodoId $todoId
  * @return TodoNotFound
  */
 public static function withTodoId(TodoId $todoId)
 {
     return new self(sprintf('Todo with id %s cannot be found.', $todoId->toString()));
 }
 /**
  * @param TodoId $todoId
  * @return Todo
  */
 public function get(TodoId $todoId)
 {
     return $this->getAggregateRoot($todoId->toString());
 }
Ejemplo n.º 11
0
 /**
  * @param TodoId $other
  * @return bool
  */
 public function sameValueAs(TodoId $other)
 {
     return $this->toString() === $other->toString();
 }