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(); }
private DataRow GetNextBibleVerse(DataRow verse) { return (CurrentBook.AsEnumerable() .FirstOrDefault( x => x.Field <int>("SequenceInBook") == verse.Field <int>("SequenceInBook") + 1)); }
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(); }
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)); }
private void LoadInformationAlreadyRead() { LoadBook((BookEnum)User.Field <int>("BookId")); CurrentVerse = CurrentBook.AsEnumerable().First(x => x.Field <int>("VerseId") == User.Field <int>("NextVerseId")); }