public async Task <TodoItem> Post(Guid id, bool completed, string title) { var command = new UpsertTodoItemCommand(id, completed, title); await _upsertTodoItemCommandHandler.ExecuteAsync(command); return(await Get(id).ConfigureAwait(false)); }
public async Task ExecuteAsync(UpsertTodoItemCommand upsertTodoItemCommand) { var item = await _todoContext.Items.SingleOrDefaultAsync(i => i.Id == upsertTodoItemCommand.Id); if (item == null) { item = new TodoItem() { Id = upsertTodoItemCommand.Id, Completed = upsertTodoItemCommand.Completed, Title = upsertTodoItemCommand.Title }; _todoContext.Items.Add(item); } else { item.Completed = upsertTodoItemCommand.Completed; item.Title = upsertTodoItemCommand.Title; } await _todoContext.SaveChangesAsync(); }