public void Add(TodoItem todoItem) { if (_context.Items.Find(todoItem.Id) != null) { throw new DuplicateTodoItemException($"duplicate id: {todoItem.Id}"); } _context.Items.Add(todoItem); _context.SaveChanges(); }
/// <summary > /// Adds new TodoItem object in database . /// If object with the same id already exists , /// method should throw DuplicateTodoItemException with the message " duplicate id: {id }". /// </ summary > public void Add(TodoItem todoItem) { if (_context.TodoItems.Any(item => item.Id == todoItem.Id)) { throw new DuplicateTodoItemException("Duplicate TodoItem with id:" + todoItem.Id.ToString()); } _context.TodoItems.Add(todoItem); _context.SaveChanges(); }
public void Add(TodoItem todoItem) { TodoItem item = _context.TodoItems.FirstOrDefault(i => i.Id == todoItem.Id); if (item != null) { throw new DuplicateTodoItemException("duplicate id: {id}"); } _context.TodoItems.Add(todoItem); _context.SaveChanges(); }
public void Add(TodoItem todoItem) { using (var db = new TodoDbContext(_connectionString)) { if (db.TodoItem.Local.Contains(todoItem)) { throw new DuplicateTodoItemException("duplicate id: " + db.TodoItem.FirstOrDefault(s => s.Equals(todoItem))); } db.TodoItem.Add(todoItem); db.SaveChanges(); } }
public bool MarkAsCompleted(Guid todoId, Guid userId) { var todoItem = Get(todoId, userId); if (todoItem == null || !todoItem.MarkAsCompleted()) { return(false); } using (var db = new TodoDbContext(_connectionString)) { db.Entry(todoItem).State = EntityState.Modified; db.SaveChanges(); } return(true); }
public void Update(TodoItem todoItem, Guid userId) { var oItem = Get(todoItem.Id, userId); if (oItem == null) { Add(todoItem); return; } using (var db = new TodoDbContext(_connectionString)) { db.Entry(todoItem).State = EntityState.Modified; db.SaveChanges(); } }
public bool Remove(Guid todoId, Guid userId) { var todoItem = Get(todoId, userId); if (todoItem == null) { return(false); } using (var db = new TodoDbContext(_connectionString)) { db.TodoItem.Remove(todoItem); db.SaveChanges(); } return(true); }