public async Task <IActionResult> Put(Guid id, [FromBody] TodoBag value) { var todo = await _context.Todos.Where(TodoSpecifications.ById(id).Expression).FirstOrDefaultAsync(); if (todo == null) { return(WhenTodoNull(id)); } todo.UpdateFrom(value); await _context.SaveChangesAsync(); return(AcceptedAtAction("Get", new { id = todo.Id }, todo)); }
public async Task <IActionResult> Delete(Guid id) { var todo = await _context.Todos.Where(TodoSpecifications.ById(id).Expression).FirstOrDefaultAsync(); if (todo == null) { return(WhenTodoNull(id)); } todo.MarkAs(TodoStatus.Abandoned); await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <IActionResult> Get(Guid id) { var todo = await _context.Todos.Where(TodoSpecifications.ById(id).Expression).FirstOrDefaultAsync(); if (todo == null) { return(WhenTodoNull(id)); } return(Ok(new { todo })); }