Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public void InitBlank()
 {
     LastModified.Reset();
     Locations.Clear();
     Notes.Clear();
     Tags.Clear();
     TagMaps.Clear();
     BlockRanges.Clear();
     Bookmarks.Clear();
     UserMarks.Clear();
 }
Пример #4
0
        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);
        }