Пример #1
0
        public AnswerStatus StopTestCase(ExaminationAnswerModel selectedAnswer)
        {
            examinationTimer.Stop();
            StopAudioPlaying();

            var answerStatus = givenAnswerService.IsAnswerCorrect() ? AnswerStatus.Correct : AnswerStatus.Incorrect;

            SaveAnswer(givenAnswerService.GivenAnswer, givenAnswerService.ElapsedTime, answerStatus);

            return(answerStatus);
        }
Пример #2
0
        public void AddReport(string testCaseName, TimeSpan spentTime, ExaminationAnswerModel answer, AnswerStatus answerStatus, long questionId)
        {
            var report = new ExaminationReportModel
            {
                Answer       = answer,
                Status       = answerStatus,
                SpentTime    = spentTime,
                QuestionId   = questionId,
                TestCaseName = testCaseName
            };

            reports.Add(report);
        }
Пример #3
0
        public bool IsAnswerCorrect(ExaminationAnswerModel examinationAnswerModel, ExaminationAnswerModel[] givenAnswers)
        {
            givenAnswers = givenAnswers.Skip(1).ToArray();

            for (int i = 0; i < examinationAnswerModel.NextAnswers.Length; i++)
            {
                if (examinationAnswerModel.NextAnswers[i].Id != givenAnswers[i].Id)
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #4
0
        public bool IsNextNeeded(ExaminationAnswerModel examinationAnswerModel, ExaminationAnswerModel selectedAnswer, int order)
        {
            if (examinationAnswerModel.Id == selectedAnswer.Id && order == parrent)
            {
                return(true);
            }

            if (examinationAnswerModel.NextAnswers[order - 1].Id == selectedAnswer.Id)
            {
                return((order == examinationAnswerModel.NextAnswers.Length) ? false : true);
            }

            return(false);
        }
Пример #5
0
        private void SaveAnswer(ExaminationAnswerModel answer, TimeSpan spentTime, AnswerStatus answerStatus)
        {
            reportService.AddReport(
                iterationsService.Current,
                TimeSpan.FromMilliseconds(GetReactionTime(spentTime, answerStatus)),
                answer,
                answerStatus,
                examinationQuestions[iterationsService.Current].QuestionId);

            progressViewModel.SetGivenAnswerStatusLabel(answerStatus, IsNextTestCaseExist);

            if (IsNextTestCaseExist)
            {
                PlayNextAudio();
            }
        }
Пример #6
0
 public bool IsNextAnswerNeeded(ExaminationAnswerModel selectedAnswer)
 {
     return(givenAnswerService.IsNextAnswerNeeded(selectedAnswer, examinationTimer.GetElapsedTime()));
 }
Пример #7
0
 public bool IsAnswerCorrect(ExaminationAnswerModel examinationAnswerModel, ExaminationAnswerModel[] givenAnswers)
 {
     return(givenAnswers[0].Id == examinationAnswerModel.Id);
 }
Пример #8
0
 public bool IsNextNeeded(ExaminationAnswerModel examinationAnswerModel, ExaminationAnswerModel selectedAnswer, int order)
 {
     return(false);
 }