public async Task Delete(int todoItemId) { await Task.Run(() => { var item = GetTodoItem(todoItemId); TodoItemsData.Remove(item); } ); }
public async Task Create(TodoItemDTO newItem) { await Task.Run(() => { if (0 != newItem.Id) { throw new ApplicationException($"Error saving '{newItem.Name}'. Invalid item id '{newItem.Id}'."); } newItem.Id = NextFreeId(); TodoItemsData.Add(newItem); } ); }
public async Task Update(TodoItemDTO editItem) { await Task.Run(() => { var item = TodoItemsData.SingleOrDefault(i => i.Id == editItem.Id); if (item != null) { item.Name = editItem.Name; item.IsComplete = editItem.IsComplete; item.Notes = editItem.Notes; } else { throw new ApplicationException($"Error saving '{editItem.Name}'. Item Id #{editItem.Id} not found."); } } ); }
public async Task <TodoItemDTO> Get(int todoItemId) { return(await Task.Run(() => TodoItemsData.FirstOrDefault(i => i.Id == todoItemId))); }
private TodoItemDTO GetTodoItem(int todoItemId) { return(TodoItemsData.FirstOrDefault(i => i.Id == todoItemId)); }
private long NextFreeId() { return(TodoItemsData.Max(i => i.Id) + 1); }