public IHttpActionResult Update(Guid id, [FromBody] UpdateTodoModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var item = _todos.SingleOrDefault(x => x.Id == id); if (item == null) { return(NotFound()); } item.Title = model.Title; if (!item.IsCompleted && model.IsCompleted) { item.IsCompleted = true; item.CompletionTimeStamp = DateTimeOffset.Now; } else if (item.IsCompleted && !model.IsCompleted) { item.IsCompleted = false; item.CompletionTimeStamp = null; } return(Ok(item)); }
public async Task <ActionResult> UpdateTodoAsync(Guid id, UpdateTodoModel updateTodoModel) { if (id != updateTodoModel.Id) { return(BadRequest()); } var todo = await _todoService.GetTodoAsync(id); if (todo is null) { return(NotFound()); } var todoModel = new TodoModel { Id = id, Description = updateTodoModel.Description, IsCompleted = updateTodoModel.IsCompleted, }; var updatedTodo = await _todoService.UpdateTodoAsync(todoModel); return(NoContent()); }