Example #1
0
        public bool CanBeJustNumber(string text, VerseNumberEntry topVerseNumberEntry)
        {
            var maxSpaces    = 2;
            var prevIndex    = StartIndex;
            var prevChar     = StringUtils.SearchFirstValuablePrevChar(text, ref prevIndex, ref maxSpaces);
            var prevPrevChar = StringUtils.SearchFirstValuablePrevChar(text, ref prevIndex, ref maxSpaces);

            if (prevChar == ':' && !char.IsDigit(prevPrevChar))
            {
                IsVerse = true;
                StartIndex--;
                return(true);
            }

            if (char.IsDigit(prevPrevChar))
            {
                if (prevChar == ';')
                {
                    IsChapter = true;
                    return(true);
                }

                if (prevChar == ',')
                {
                    return(true);
                }
            }

            //var nextChar = StringUtils.GetChar(text, StartIndex + 1);
            //if (VerseUtils.IsDash(nextChar) && topVerseNumberEntry != null && topVerseNumberEntry.VerseNumber.IsChapter)
            //    return true;

            return(false);
        }
Example #2
0
        public TextFragmentInfo(
            int indexOfDigit,
            string text,
            BookEntry bookEntry,
            VerseNumberEntry verseNumberEntry,
            VerseNumberEntry topVerseNumberEntry)
        {
            IndexOfDigit = indexOfDigit;
            Text         = text;

            BookEntry           = bookEntry;
            VerseNumberEntry    = verseNumberEntry;
            TopVerseNumberEntry = topVerseNumberEntry;

            EntryType = GetEntryType();
        }
Example #3
0
        public bool CanBeJustNumber(string text)
        {
            var result = VerseNumberEntry.CanBeJustNumber(text, TopVerseNumberEntry);       // здесь может измениться IsVerse

            EntryType = GetEntryType();
            if (VerseNumberEntry.IsVerse)       // например, ":5-7"
            {
                VerseNumberEntry.VerseNumber = new VerseNumber(0, VerseNumberEntry.VerseNumber.Chapter);
                if (TopVerseNumberEntry != null)
                {
                    TopVerseNumberEntry.VerseNumber = new VerseNumber(0, TopVerseNumberEntry.VerseNumber.Chapter);
                }
            }

            return(result);
        }