コード例 #1
0
        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));
        }
コード例 #2
0
        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();
        }