/// <summary> /// IAction method for returning a view of an exam /// </summary> /// <param name="id">Id for a exam</param> /// <returns></returns> public IActionResult ViewExam(int id) { var exam = context.ReadExam(id); var vm = new ViewExamViewModel() { Exam = exam }; var responses = new Dictionary <int, List <QuestionResponse> >(); foreach (var item in exam.Student.StudentCourses) { responses.Add(item.Course.Id, context.ReadResponsesByCourse(item.Course.Id, exam.Id)); } vm.Responses = responses; return(View(vm)); }
public IActionResult ViewExam(ViewExamViewModel vm) { //TODO: Fix model binding issue var responses = vm.Responses; foreach (var item in responses) { var course = context.ReadResponsesByCourse(item.Key, vm.Exam.Id); foreach (var qr in course) { foreach (var q in item.Value) { var r = context.ReadResponse(qr.Id); r.Response = q.Response; r.Rating = q.Rating; context.SaveResponse(r); } } } return(RedirectToAction("ViewExam", new { id = vm.Exam.Id })); }