public void Increment(IVerse verse)
 {
     if (verses.ContainsKey(verse))
         verses[verse]++;
     else
         verses.Add(verse, 1);
 }
 public static IEnumerable <int> GetAllVerseNumbers(this IVerse verse)
 {
     for (var v = verse.StartVerse; v <= verse.EndVerse; v++)
     {
         yield return(v);
     }
 }
Esempio n. 3
0
 private static void AccumulateTokens(Dictionary<string, TokenVerseFrequency> m, IVerse verse, IEnumerable<Token> tokens)
 {
     foreach (var token in tokens)
     {
         TokenVerseFrequency tokenVerseFrequency;
         if (!m.TryGetValue(token.TokenString, out tokenVerseFrequency))
         {
             tokenVerseFrequency = new TokenVerseFrequency(token);
             m.Add(token, tokenVerseFrequency);
         }
         tokenVerseFrequency.Increment(verse);
     }
 }
 /// <summary>
 /// Gets all character/delivery pairs for the given verse or bridge.
 /// </summary>
 public override HashSet <CharacterSpeakingMode> GetCharacters(int bookId, int chapter, IVerse verseOrBridge,
                                                               ScrVers versification = null, bool includeAlternatesAndRareQuotes = false, bool includeNarratorOverrides = false)
 {
     return(GetCharacters(bookId, chapter, new[] { verseOrBridge }, versification, includeAlternatesAndRareQuotes, includeNarratorOverrides));
 }
        public HashSet <CharacterSpeakingMode> GetCharacters(int bookId, int chapter, IVerse verseOrBridge, ScrVers versification = null, bool includeAlternatesAndRareQuotes = false, bool includeNarratorOverrides = false)
        {
            var result = ControlCharacterVerseData.Singleton.GetCharacters(bookId, chapter, verseOrBridge, versification,
                                                                           includeAlternatesAndRareQuotes, includeNarratorOverrides);
            var project = m_project.ProjectCharacterVerseData.GetCharacters(bookId, chapter, verseOrBridge, versification);

            result.UnionWith(project);
            return(result);
        }
Esempio n. 6
0
 public abstract HashSet <CharacterSpeakingMode> GetCharacters(int bookId, int chapter, IVerse verseOrBridge,
                                                               ScrVers versification = null, bool includeAlternatesAndRareQuotes = false, bool includeNarratorOverrides = false);
Esempio n. 7
0
        /// <summary>
        /// Gets all project-specific character/delivery pairs for the given verse or bridge.
        /// </summary>
        public override HashSet <CharacterSpeakingMode> GetCharacters(int bookId, int chapter, IVerse verseOrBridge,
                                                                      ScrVers versification = null, bool includeAlternatesAndRareQuotes = false, bool includeNarratorOverrides = false)
        {
            Debug.Assert(!includeAlternatesAndRareQuotes);
            Debug.Assert(!includeNarratorOverrides);
            Debug.Assert(versification == null || versification == m_versification);
            var result = new HashSet <CharacterSpeakingMode>(m_characterDeliveryEqualityComparer);

            foreach (var v in verseOrBridge.AllVerseNumbers)
            {
                var verseRef = new VerseRef(bookId, chapter, v, versification ?? m_versification);
                verseRef.ChangeVersification(ScrVers.English);
                result.AddRange(GetSpeakingModesForRef(verseRef));
            }
            return(result);
        }
Esempio n. 8
0
 public VerseFrequency(IVerse verse, int frequency)
     : this()
 {
     Verse = verse;
     Frequency = frequency;
 }