Пример #1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            viewModel = new TakeExamViewModel();
            UserExam us = new UserExam();

            us = (UserExam)e.Parameter;

            _student = us.student;
            _exam    = us.exam;
            CurrentTestQuestion(questionIndex);
        }
Пример #2
0
        public IActionResult TakeExam(TakeExamViewModel giveExamViewModel)
        {
            var questions = examQuestionRepository.GetExamQuestions(giveExamViewModel.ExamId).Select(c => c.Question).Select(c => c.QuestionChoices.Select(v => v.Choice.IsCorrect)).ToList();
            int score     = 0;
            var user      = userManager.GetUserId(User);

            try
            {
                foreach (var item in giveExamViewModel.Answers)
                {
                    Answer answer = new Answer
                    {
                        AppUserId  = int.Parse(user),
                        ChoiceId   = item.ChoiceId,
                        IsSelected = item.IsSelected
                    };
                    answerRepository.Add(answer);
                    var choice = choiceRepository.Get(item.ChoiceId);
                    if (item.IsSelected == true && choice.IsCorrect == true)
                    {
                        score++;
                    }
                }
            }
            catch
            {
                return(NotFound());
            }

            double resultScore = Math.Round((((double)score / (double)questions.Count) * 100), 2);

            Result result = new Result
            {
                AppUserId = int.Parse(user),
                ExamId    = giveExamViewModel.ExamId,
                Score     = resultScore,
                Exam      = examRepository.Get(giveExamViewModel.ExamId),
                dateTime  = DateTime.Now
            };

            resultRepository.Add(result);
            return(RedirectToAction("FinishExam", new { ResultId = result.Id }));
        }
Пример #3
0
        public IActionResult TakeExam(int examID)
        {
            TakeExamViewModel takeExam = new TakeExamViewModel();
            var Exam = examRepository.Get(examID);
            List <ExamQuestion> examQuestions = examQuestionRepository.GetExamQuestions(examID).ToList();

            takeExam.Questions = examQuestions.Select(c => c.Question).ToList();

            if (takeExam.Questions.Count == 0)
            {
                return(RedirectToAction("NotExistExam"));
            }
            takeExam.ExamId       = examID;
            takeExam.ExamDuration = Exam.Duration;
            int startDateCompare = DateTime.Compare(Exam.StartDate, DateTime.Now);
            int endDateCompare   = DateTime.Compare(Exam.EndDate, DateTime.Now);

            //if (startDateCompare < 0 && endDateCompare > 0)
            //{
            // return RedirectToAction("NotExistExam");
            // }
            return(View(takeExam));
        }
 public RedirectToRouteResult TakeExam(TakeExamViewModel takeExamViewModel)
 {
     ViewBag.Exam = takeExamViewModel.SelectedSubject;
     return(RedirectToAction("QuestionPaper", "Exam", new { subject = takeExamViewModel.SelectedSubject, difficulty = takeExamViewModel.Difficulty }));
 }
 public TakeExam()
 {
     this.InitializeComponent();
     this.TakeExamViewModel = new TakeExamViewModel();
 }