public ActionResult Index(TestResult testResult, Answer answer) { Test activeTest = testRepository.Tests.FirstOrDefault(t => t.TestID == testResult.TestID); if (testResult.UserName == null || activeTest == null) { return(RedirectToAction("LogIn", "Account")); } testResult.AddAnswer(answer); testResult.CheckAnswers(activeTest); if (testResult.Answers.Count >= activeTest.Questions.Count || testResult.BeginTime.AddSeconds(activeTest.TimeSec) < DateTime.Now) { testResult.IsDone = true; testResult.FinishTime = DateTime.Now; testResult.CheckAnswers(activeTest); resultRepository.AddTestResult(testResult); return(RedirectToAction("Result")); } resultRepository.AddTestResult(testResult); if (Request.IsAjaxRequest()) { return(Json(activeTest.Questions[testResult.Answers.Count])); } else { return(RedirectToAction("Index")); } }
public void AddAnswerToTestResult(Answer answer, Test test) { TestResult tstres = (from tr in results where tr.TestID == test.TestID select tr).First(); tstres.AddAnswer(answer); this.UpdateXML(); }