public IEnumerable <QuestionBase> Map(IDataReader r) { while (r.Read()) { var questionType = (QuestionType)r.GetByte("QuestionType_ID"); QuestionBase result; switch (questionType) { case QuestionType.Open: result = new OpenQuestion(); break; case QuestionType.Checkboxed: result = new CheckedQuestion(); break; default: throw new NotImplementedException(); } result.ID = r.GetInt32("ID"); result.Question = r.GetString("Question"); result.PoolID = r.GetInt16("Pool_ID"); yield return(result); } }
static CheckedQuestionViewModel Build(CheckedQuestion model, short poolid) { var db = new DBCache(); var answers = db.GetCheckedAnswers(poolid); var q = new CheckedQuestionViewModel(model); var answersVMs = new List <CheckedAnswerViewModel>(); var a = answers.Single(x => x.Key == model.ID); foreach (var item in a) { answersVMs.Add(new CheckedAnswerViewModel(item, q)); } q.Answers = answersVMs; return(q); }
public CheckedQuestionViewModel(CheckedQuestion model) : base(model) { }