示例#1
0
        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();
        }