public ActionResult Assignment2(string submitanswer, string answereverified, string newpractise, Assignment2ViewModel viewModel) { Assignment2DataAccess dataAccess = new Assignment2DataAccess(RavenSession); MathPractice exam = dataAccess.RetrieveFromSession(); Question currentQuestion = exam.CurrentQuestion; if(exam != null && currentQuestion == null && string.IsNullOrEmpty(newpractise)) { ModelState.Clear(); viewModel.InjectFrom(exam); viewModel.Done = true; } else if(!string.IsNullOrEmpty(submitanswer)) { int result; int.TryParse(viewModel.Answer, out result); currentQuestion.Answer = result; if(currentQuestion.Answer == currentQuestion.Solution) { currentQuestion = exam.CurrentQuestion; if(currentQuestion != null) { viewModel.InjectFrom(exam, currentQuestion); ModelState.Remove("Answer"); viewModel.Answer = string.Empty; viewModel.AnswereVerified = true; } else { ModelState.Clear(); viewModel.InjectFrom(exam); viewModel.Done = true; } } else { viewModel.InjectFrom(exam, currentQuestion); viewModel.AnswereVerified = false; } } else if(!string.IsNullOrEmpty(answereverified)) { currentQuestion = exam.CurrentQuestion; if(currentQuestion != null) { viewModel.InjectFrom(exam, currentQuestion); ModelState.Remove("Answer"); viewModel.Answer = string.Empty; viewModel.AnswereVerified = true; } else { ModelState.Clear(); viewModel.InjectFrom(exam); viewModel.Done = true; } } else if(!string.IsNullOrEmpty(newpractise)) { ModelState.Clear(); exam = dataAccess.CreateNewSession(); currentQuestion = exam.CurrentQuestion; viewModel.InjectFrom(exam, currentQuestion); viewModel.Answer = string.Empty; } return View("Assignment2", viewModel); }
// // GET: /Assignments/Assignment2 public ActionResult Assignment2() { //Initialize Data Model Assignment2DataAccess dataAccess = new Assignment2DataAccess(RavenSession); //Retrieve quiz from the database MathPractice exam = dataAccess.RetrieveFromSession(); Question currentQuestion = exam.CurrentQuestion; //Initialize View Model Assignment2ViewModel viewModel = new Assignment2ViewModel(); if(currentQuestion != null) { //Use Object mapper to map Data Model to View Model viewModel.InjectFrom(exam, currentQuestion); viewModel.Answer = string.Empty; } else { viewModel.InjectFrom(exam); viewModel.Done = true; } return View("Assignment2", viewModel); }