public ActionResult SaveUserResponse(QuestionProposedAnswersViewModel questionOptionsViewModel) { ExamManagerEF examManagerEF = Session["ExamManager"] as ExamManagerEF; examManagerEF.UpdateResponse(questionOptionsViewModel); if (!examManagerEF.IsLastQuestion(questionOptionsViewModel.Question.ID)) return this.RedirectToAction("NextQuestion", new { questionId = questionOptionsViewModel.Question.ID }); else return this.RedirectToAction("EvaluateExam"); }
private QuestionProposedAnswersViewModel GetQuestionViewModel(OnlineExamAppDBEntities3 dbContext, Question question) { QuestionProposedAnswersViewModel questionOptionsViewModel = new QuestionProposedAnswersViewModel(); List<ProposedAnswerViewModel> options = new List<ProposedAnswerViewModel>(); questionOptionsViewModel.Question = new QuestionViewModel() { ID = question.ID, Text = question.QuestionText }; List<QuestionProposedAnswer> questionProposedAnswers = dbContext.QuestionProposedAnswers.Where(qpa => qpa.QuestionID == question.ID).ToList<QuestionProposedAnswer>(); foreach (QuestionProposedAnswer questionProposedAnswer in questionProposedAnswers) { options.Add(new ProposedAnswerViewModel() { ID = questionProposedAnswer.ProposedAnswer.ID, Text = questionProposedAnswer.ProposedAnswer.AnswerText }); } questionOptionsViewModel.ProposedAnswers = options; return questionOptionsViewModel; }
public void UpdateResponse(QuestionProposedAnswersViewModel questionOptionsViewModel) { //OnlineExamAppDBEntities3 dbContext = new OnlineExamAppDBEntities3(); if (_userResponseHeader == null) { _userResponseHeader = new UserResponseHeader(); _userResponseHeader.ExamID = _exam.ID; _userResponseHeader.AttemptedOn = DateTime.Today; //dbContext.UserResponseHeaders.Add(_userResponseHeader); } UserResponseDetail userResponseDetail = null; foreach(ProposedAnswerViewModel optionViewModel in questionOptionsViewModel.ProposedAnswers) { if (!optionViewModel.IsSelected) continue; userResponseDetail = new UserResponseDetail(); userResponseDetail.UserResponseHeader = _userResponseHeader; userResponseDetail.QuestionID = questionOptionsViewModel.Question.ID; userResponseDetail.AnswerID = optionViewModel.ID; _userResponseHeader.UserResponseDetails.Add(userResponseDetail); } //dbContext.SaveChanges(); }