예제 #1
0
        public QuestionSet.QuestionsRow GetPasssageToQuestion(int questionId)
        {
            if (questionToPassageCash.Contains(questionId))
            {
                return(passageCache.Questions[0]);
            }

            PassageToQuestionSet pq = new PassageToQuestionSet();

            manager.DataProvider.GetPassageToQuestions(questionId, pq);

            if (pq.PassageToQuestions.Count == 0)
            {
                throw new Exception(String.Format("No passage for question {0} is defined", questionId));
            }

            questionToPassageCash.Clear();
            foreach (PassageToQuestionSet.PassageToQuestionsRow row in pq.PassageToQuestions)
            {
                questionToPassageCash[row.QuestionId] = null;
            }

            passageCache.Clear();
            manager.DataProvider.GetQuestion(pq.PassageToQuestions[0].PassageQuestionId, passageCache);
            return(passageCache.Questions[0]);
        }