Example #1
0
        public async Task <Todo> Handle(CreateTodoCommand request, CancellationToken cancellationToken)
        {
            // TODO: who is responsible for generating IDs? it depends, but maybe the more correct approach is for the
            // client to send it. Some discussion: https://github.com/gregoryyoung/m-r/issues/17
            // https://stackoverflow.com/questions/43433318/cqrs-command-return-values
            var todo = await _todoRepository.CreateNewAsync(cancellationToken);

            todo.Create(request);
            await _todoRepository.SaveAsync(todo);

            // Should commands care about results? Or just success/fail?
            return(todo);
        }