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); }
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 })); }
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(); }