Ejemplo n.º 1
0
 internal override void ProcessQuestion(bool isNewQuestion)
 {
     if (isNewQuestion)
     {
         if (_index == _questIds.Count - 1)
         {
             _index = -1;
         }
         _index++;
     }
     try
     {
         int          qId       = _questIds[_index];
         AppealResult appeal    = TestClient.GetQuestionAppeal(_statistics.TestSessionId, qId, true);
         var          htmlStore = HtmlStore.GetHtmlStore(appeal.TestorData, qId);
         htmlStore.IsAppeal      = true;
         htmlStore.AppealIsRight = appeal.IsRightAnswer;
         htmlStore.Answer        = appeal.Answer;
         _currentQuestion        = htmlStore;
     }
     catch (Exception ex)
     {
         SystemMessage.ShowErrorMessage(ex);
     }
 }
Ejemplo n.º 2
0
        public AppealResult GetQuestionAppeal(int sessionId, int questId, bool getBLOBs)
        {
            Debug.Assert(sessionId > 0);
            Debug.Assert(questId > 0);

            AppealResult retValue = new AppealResult();

            using (DataClassesTestorCoreDataContext dataContext = new DataClassesTestorCoreDataContext(TestorSecurityProvider.ConnectionString))
            {
                var session = dataContext.TestSessions.Where(c => c.TestSessionId == sessionId).First();
                if (session.UserId != Provider.CurrentUser.UserId || session.CoreTest.ShowDetailsTestResult != true)
                {
                    Provider.TestRoles(TestorUserRole.Administrator, TestorUserRole.Teacher, TestorUserRole.Laboratorian);
                }
                var quest = session.TestSessionQuestions.Where(c => c.QuestionId == questId).FirstOrDefault();
                if (quest == null)
                {
                    return(null);
                }
                retValue.TestorData    = GetQuestion(questId, true, true, getBLOBs);
                retValue.Answer        = quest.Answer;
                retValue.IsRightAnswer = quest.IsRightAnswer.HasValue ? quest.IsRightAnswer.Value : false;
            }
            return(retValue);
        }