public TodoItemLabel AddLabel(TodoItemLabel item) { // ensuring that the label won't be put to the database if the same label allready exists TodoItemLabel todoItemLabel = _context.TodoItemLabels.SingleOrDefault(l => l.Value == item.Value); if (todoItemLabel != null) { return(todoItemLabel); } else { _context.TodoItemLabels.Add(item); _context.SaveChanges(); return(item); } }
public void AddLabel(string labelText, Guid itemId) { TodoItem item = _context.TodoItems.FirstOrDefault(i => i.Id == itemId); TodoItemLabel label = _context.TodoItemLabels.FirstOrDefault(l => l.Value == labelText); if (label == null) { label = new TodoItemLabel(labelText); _context.TodoItemLabels.Add(label); label.LabelTodoItems.Add(item); item.Labels.Add(label); } else { item.Labels.Add(label); label.LabelTodoItems.Add(item); } _context.SaveChanges(); }