public async Task <IActionResult> Put(string id, [FromBody] TodoItemDto input) { if (id != input.Id.ToString()) { return(BadRequest()); } if (input.IsCompleted.HasValue) { await _todoAppService.SetTodoItemCompletion(id, input.IsCompleted.Value); } else { await _todoAppService.UpdateTodoItemAsync(id, input); } return(NoContent()); }