Example #1
0
        public DbBook(IDictionary<string, object> dbRecord)
        {
            if (dbRecord == null)
                throw new ArgumentNullException("dbRecord", "dbRecord cannot be null.");

            Id = dbRecord.ValidateField<int>(IdField);
            Abbrev = dbRecord.ValidateField<string>(AbbrevField);
            FullName = dbRecord.ValidateField<string>(FullNameField);
        }
Example #2
0
        public DbVerse(IDictionary<string, object> dbRecord)
        {
            if (dbRecord == null)
                throw new ArgumentNullException("dbRecord", "dbRecord cannot be null.");

            var bookId = dbRecord.ValidateField<int>(BookField);
            if (!BibleBook.IsValidBook(bookId))
                throw new FormatException(string.Format("The '{0}' field does not refer to a valid book", BookField));

            var id = dbRecord.ValidateField<int>(VerseIdField);
            var fromChapter = dbRecord.ValidateField(BeginChapterField, 1);
            var fromVerse = dbRecord.ValidateField(BeginVerseField, 1);
            var toChapter = dbRecord.ValidateField(EndChapterField, fromChapter);
            var toVerse = dbRecord.ValidateField(EndVerseField, 1);

            Id = id;
            Book = BibleBook.GetBook(bookId);
            From = new ChapterVerse(fromChapter, fromVerse);
            To = new ChapterVerse(toChapter, toVerse);
            Title = dbRecord.ValidateField<string>(TitleField);
            Body = dbRecord.ValidateField<string>(BodyField);
            Date = dbRecord.ValidateDateField(DateField);

            if (From.CompareTo(To) > 0)
                throw new FormatException("The From reference should be before the To reference.");

            Translation = new DbTranslation(dbRecord);
        }
Example #3
0
        public DbTranslation(IDictionary<string, object> dbRecord)
        {
            if (dbRecord == null)
                throw new ArgumentNullException("dbRecord", "dbRecord cannot be null.");

            var id = dbRecord.ValidateNullableField<int>(IdField);

            if (id == null)
            {
                var defaultValue = Default;
                Id = defaultValue.Id;
                FullName = defaultValue.FullName;
                Abbrev = defaultValue.Abbrev;
            }
            else
            {
                Id = (int)id;
                FullName = dbRecord.ValidateField<string>(FullNameField);
                Abbrev = dbRecord.ValidateField<string>(AbbrevField);
            }
        }