Example #1
0
        private void LoadNextVerse()
        {
            if (!HasStarted)
            {
                return;
            }

            StopTimer();

            FinishedVerse(CurrentVerse);

            if (CurrentVerse.Field <int>("SequenceInBook") == CurrentBook.AsEnumerable().Max(p => p.Field <int>("SequenceInBook")))
            {
                if ((BookEnum)CurrentVerse.Field <int>("BookId") == BookEnum.Revelation)
                {
                    // Finalizou a leitura. Terminamos.
                    Stop(false);
                    return;
                }

                // Terminou a leitura do livro atual. Vamos para o próximo livro.
                LoadNextBook();
                return;
            }

            // Próximo versículo do livro atual.
            CurrentVerse = GetNextVerse(CurrentVerse);

            UpdateVerse();
        }
Example #2
0
 private DataRow GetNextBibleVerse(DataRow verse)
 {
     return
         (CurrentBook.AsEnumerable()
          .FirstOrDefault(
              x =>
              x.Field <int>("SequenceInBook") == verse.Field <int>("SequenceInBook") + 1));
 }
Example #3
0
        private void LoadNextBook()
        {
            if ((BookEnum)CurrentBook.AsEnumerable().First().Field <int>("BookId") == BookEnum.Revelation)
            {
                LoadBook(BookEnum.Genesis);
                return;
            }

            LoadBook((BookEnum)CurrentBook.AsEnumerable().First().Field <int>("BookId") + 1);
            SetCurrentVerseAsFirstOne();
            UpdateVerse();
        }
Example #4
0
        private DataRow GetPreviousVerse(DataRow verse)
        {
            if ((BookEnum)verse.Field <int>("BookId") == BookEnum.Genesis && verse.Field <int>("SequenceInBook") == 1)
            {
                throw new InvalidOperationException();
            }

            return
                (CurrentBook.AsEnumerable()
                 .First(
                     x =>
                     x.Field <int>("SequenceInBook") == verse.Field <int>("SequenceInBook") - 1));
        }
Example #5
0
 private void LoadInformationAlreadyRead()
 {
     LoadBook((BookEnum)User.Field <int>("BookId"));
     CurrentVerse =
         CurrentBook.AsEnumerable().First(x => x.Field <int>("VerseId") == User.Field <int>("NextVerseId"));
 }