public async Task <bool> Update(BllTodoItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } db.Entry(item).State = EntityState.Modified; try { await db.SaveChangesAsync(); return(true); } catch (DbUpdateConcurrencyException ex) { if (!TodoItemExists(item.Id)) { return(false); } throw new ArgumentException(ex.Message, ex); } }
public async Task <IActionResult> PutTodoItem(int id, TodoItem todoItem) { if (id != todoItem.Id) { return(BadRequest()); } _context.Entry(todoItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TodoItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <TodoItem> Update(TodoItem todoItem) { // To Avoid tracking error var entityToDetach = await _context.TodoItems.FirstOrDefaultAsync(m => m.Id == todoItem.Id); _context.Entry(entityToDetach).State = EntityState.Detached; _context.Update(todoItem); await _context.SaveChangesAsync(); return(todoItem); }