private int FixupTagMapValidity() { var fixupCount = 0; for (var n = TagMaps.Count - 1; n >= 0; --n) { var tagMap = TagMaps[n]; if (tagMap.NoteId != null && (FindTag(tagMap.TagId) == null || FindNote(tagMap.NoteId.Value) == null)) { ++fixupCount; TagMaps.RemoveAt(n); Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId}"); } else if (tagMap.LocationId != null && FindLocation(tagMap.LocationId.Value) == null) { ++fixupCount; TagMaps.RemoveAt(n); Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId} (missing LocationId)"); } } return(fixupCount); }
public void AddBibleNoteAndUpdateIndex( BibleBookChapterAndVerse verseRef, Note value, TagMap tagMap) { Notes.Add(value); if (tagMap != null) { TagMaps.Add(tagMap); } if (_notesGuidIndex.IsValueCreated) { _notesGuidIndex.Value.Add(value.Guid, value); } if (_notesIdIndex.IsValueCreated) { _notesIdIndex.Value.Add(value.NoteId, value); } if (_notesVerseIndex.IsValueCreated) { if (!_notesVerseIndex.Value.TryGetValue(verseRef, out var notes)) { notes = new List <Note>(); _notesVerseIndex.Value.Add(verseRef, notes); } notes.Add(value); } }
public void InitBlank() { LastModified.Reset(); Locations.Clear(); Notes.Clear(); Tags.Clear(); TagMaps.Clear(); BlockRanges.Clear(); Bookmarks.Clear(); UserMarks.Clear(); }
private int FixupTagMapValidity() { var fixupCount = 0; for (var n = TagMaps.Count - 1; n >= 0; --n) { var tagMap = TagMaps[n]; if (tagMap.Type == 1 && (FindTag(tagMap.TagId) == null || FindNote(tagMap.TypeId) == null)) { ++fixupCount; TagMaps.RemoveAt(n); Log.Logger.Error($"Removed invalid tag map {tagMap.TagMapId}"); } } return(fixupCount); }