/** * @param ReminderWasAddedToTodo $event * @return void */ public function onReminderWasAddedToTodo(ReminderWasAddedToTodo $event) { // remove other reminder for todo first $this->connection->delete(Table::TODO_REMINDER, ['todo_id' => $event->todoId()->toString()]); $reminder = $event->reminder(); $this->connection->insert(Table::TODO_REMINDER, ['todo_id' => $event->todoId()->toString(), 'reminder' => $reminder->toString(), 'status' => $reminder->status()->toString()]); }
/** * @return Todo */ private function todoWithReminderInThePast() { $userId = UserId::generate(); $todoId = TodoId::generate(); $reminder = TodoReminder::fromString('2000-12-11 12:00:00', TodoReminderStatus::OPEN); $events = [TodoWasPosted::byUser($userId, 'test', $todoId, TodoStatus::open()), ReminderWasAddedToTodo::byUserToDate($todoId, $userId, $reminder)]; return $this->reconstituteAggregateFromHistory(Todo::class, $events); }
/** * @param ReminderWasAddedToTodo $event * @return void */ protected function whenReminderWasAddedToTodo(ReminderWasAddedToTodo $event) { $this->reminder = $event->reminder(); }
/** * @param ReminderWasAddedToTodo $event * @return void */ public function onReminderWasAddedToTodo(ReminderWasAddedToTodo $event) { $this->connection->update(Table::TODO, ['reminder' => $event->reminder()->toString()], ['id' => $event->todoId()->toString()]); }