/** * @param CreateTask $createTaskCommand */ public function handle(CreateTask $createTaskCommand) { /** @var TodoList $list */ $list = $this->listsRepository->findOne(['id' => $createTaskCommand->listId]); $task = $this->taskFactory->createFromArray(['id' => $this->idGenerator->generateId(), 'title' => $createTaskCommand->title, 'content' => $createTaskCommand->content, 'list' => $list, 'finished' => $createTaskCommand->finished, 'deleted' => null]); $list->addTask($task); $this->tasksRepository->insert($task); // throw create event }