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); }
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); }
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); } }