Example #1
0
        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"));
            }
        }
Example #2
0
        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();
        }