/** * @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; }
/** * @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 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()]); }
/** * @param TodoReminder $reminder * @param TodoStatus $status * @return TodoNotOpen */ public static function triedToSendReminder(TodoReminder $reminder, TodoStatus $status) { return new self(sprintf('Tried to send a reminder %s for a todo with status %s.', $reminder->toString(), $status->toString())); }
/** * @param TodoReminder $reminder * @return InvalidReminder */ public static function reminderInThePast(TodoReminder $reminder) { return new self(sprintf('Provided reminder %s is in the past from %s', $reminder->toString(), $reminder->createdOn())); }
/** * @param TodoReminder $expected * @param TodoReminder $actual * @return InvalidReminder */ public static function reminderNotCurrent(TodoReminder $expected, TodoReminder $actual) { return new self(sprintf('Notification for reminder %s can not be send, because %s is the current one.', $actual->toString(), $expected->toString())); }