private ChapterEntry GetChapterEntry() { if (!_chapterEntryWasSearched) { _chapterEntryWasSearched = true; if (VerseEntries.Any()) { _chapterEntry = new ChapterEntry(); VersePointer chapterVp = null; foreach (var verseEntry in VerseEntries) { if (chapterVp != null && (verseEntry.VersePointer.BookIndex != chapterVp.BookIndex || verseEntry.VersePointer.Chapter != chapterVp.Chapter)) { _chapterEntry.Invalid = true; break; } if (chapterVp == null) { chapterVp = verseEntry.VersePointer; } if (verseEntry.StartIndex == 0) { _chapterEntry.AtStartOfParagraph = true; } if (verseEntry.VersePointer.MultiVerseType <= MultiVerse.OneChapter) { if (verseEntry.EntryType == VerseEntryType.BookChapter || verseEntry.EntryType == VerseEntryType.BookChapterVerse) { _chapterEntry.CorrectType = true; } } else { _chapterEntry.Invalid = true; break; } } if (chapterVp != null && !_chapterEntry.Invalid) { _chapterEntry.ChapterPointer = chapterVp.ToChapterPointer(); } } } return(_chapterEntry); }
public override string ToString() { return(VerseEntries.Count == 1 ? $"{VerseEntries.First().VersePointer}" : $"{VerseEntries.Count} verses in: {Text}"); }