/**
  * @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;
 }
Пример #2
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;
 }
 /**
  * @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 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 UserId $userId
  * @param string $name
  * @param EmailAddress $emailAddress
  * @return UserWasRegistered
  */
 public static function withData(UserId $userId, $name, EmailAddress $emailAddress)
 {
     Assertion::string($name);
     $event = self::occur($userId->toString(), ['name' => $name, 'email' => $emailAddress->toString()]);
     $event->userId = $userId;
     $event->username = $name;
     $event->emailAddress = $emailAddress;
     return $event;
 }
Пример #6
0
 /**
  * @param UserId $userId
  * @return UserNotFound
  */
 public static function withUserId(UserId $userId)
 {
     return new self(sprintf('User with id %s cannot be found.', $userId->toString()));
 }
Пример #7
0
 /**
  * @param UserId $user
  * @param UserId $assigneeId
  * @return InvalidDeadline
  */
 public static function userIsNotAssignee(UserId $user, UserId $assigneeId)
 {
     return new self(sprintf('User %s tried to add a deadline to the todo owned by %s', $user->toString(), $assigneeId->toString()));
 }
 /**
  * @param UserId $userId
  * @return User
  */
 public function get(UserId $userId)
 {
     return $this->getAggregateRoot($userId->toString());
 }
Пример #9
0
 /**
  * @param UserId $other
  * @return bool
  */
 public function sameValueAs(UserId $other)
 {
     return $this->toString() === $other->toString();
 }
Пример #10
0
 /**
  * @return string representation of the unique identifier of the aggregate root
  */
 protected function aggregateId()
 {
     return $this->userId->toString();
 }