Esempio n. 1
0
        public void CreatePoint(List <Question> questions, ResultParamViewModel resultModel)
        {
            double        point       = 0;
            List <string> userAnswers = resultModel.UserAnswer;

            for (int i = 0; i < questions.Count; i++)
            {
                if (userAnswers[i] == null)
                {
                    continue;
                }

                if (userAnswers[i].ToLower() == questions[i].Answer.FirstOrDefault(p => p.IsCorrect).Name.ToLower())
                {
                    point++;
                }
            }

            point = Math.Round((point * 100) / questions.Count, 1);
            resultModel.Result.Point = point;

            if (resultModel.Result.Point >= resultModel.Test.Rate)
            {
                resultModel.Result.IsSuccess = true;
            }
        }
Esempio n. 2
0
        public IActionResult CreateResult(ResultParamViewModel resultModel)
        {
            List <Question> questions = questionService.Questions.Where(p => p.TestId == resultModel.Result.TestId).Include(p => p.Answer).ToList();

            if (questions.Any())
            {
                handler.CreatePoint(questions, resultModel);
                resultService.AddResult(resultModel.Result);
                resultModel.Test.Question = questions;
                return(View("ShowResult", resultModel));
            }
            else
            {
                return(NotFound());
            }
        }