public async Task Delete(long id) { Category exists = await _context.Set <Category>().FindAsync(id); if (exists == null) { return; } _context.RemoveRange(_context.Notes.Where(x => x.CategoryId == id).ToList()); _context.Remove(exists); await _context.SaveChangesAsync(); }
private async Task FixTagsOnEdit(Note noteToFix, Note newNote) { foreach (var tag in newNote.Tags) { if (!noteToFix.Tags.Any(x => x.Name == tag.Name)) { await _tagRepository.Create(tag); } } _context.Entry(noteToFix).Entity.Tags.Clear(); _context.Entry(noteToFix).Entity.Tags.AddRange(newNote.Tags); _context.Entry(noteToFix).CurrentValues.SetValues(newNote); _context.Entry(noteToFix).State = EntityState.Modified; await _context.SaveChangesAsync(); }