public ActionResult View(Guid groupId, Guid testId) { bl_Test bl_test = new bl_Test(); bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_Answer bl_answer = new bl_Answer(); var test = bl_test.GetById(testId); var time = test.StartTime.AddHours(2) - DateTime.Now; var group = new ps_Group(); group.Group = bl_group.GetById(groupId); group.Group.Paragraph = HttpUtility.HtmlDecode(group.Group.Paragraph); group.QuestionList = bl_question.GetByGroupId(groupId); ViewBag.QuizId = group.Group.QuizId; ViewBag.GroupId = group.Group.QuestionGroupId; ViewBag.TestId = testId; ViewBag.TimeLeft = String.Format("{0}h{1}m{2}s", time.Hours, time.Minutes, time.Seconds); ViewBag.QuestionDone = bl_answer.GetQuestionDone(testId).Count; double Timeab = time.TotalSeconds; ViewBag.Time = Timeab; return(View(group)); }
public ActionResult Navigation(Guid quizId, Guid testId) { bl_QuestionGroup bl_group = new bl_QuestionGroup(); List <ps_PartViewItem> model = new List <ps_PartViewItem>(); for (byte i = 1; i <= 8; i++) { model.Add(new ps_PartViewItem { PartName = String.Format("Part{0}", i), TestId = testId, Groups = bl_group.GetByPartId(quizId, i) }); } bl_Answer blAnswer = new bl_Answer(); ViewBag.Done = blAnswer.GetNumberOfDone(testId); ViewBag.TestId = testId; //get the rest time bl_Test blTest = new bl_Test(); var test = blTest.GetById(testId); double restTime = (test.StartTime.AddHours(2) - DateTime.Now).TotalSeconds; ViewBag.Minute = Math.Round(restTime / 60, 0) - 1; ViewBag.Second = Math.Round(restTime % 60, 0); return(View("_Navigation", model)); }
public bool UpdateAnswer(Guid testId, Guid questionId, byte answer = 0) { bl_Answer bl_answer = new bl_Answer(); var result = bl_answer.Update(testId, questionId, answer); if (result > 0) { return(true); } else { return(false); } }
public ActionResult Result(Guid testId) { bl_Test blTest = new bl_Test(); bl_Quiz blQuiz = new bl_Quiz(); bl_Answer blAnswer = new bl_Answer(); ps_Result model = new ps_Result(); model.AnswerList = blAnswer .GetByTestId(testId) .OrderBy(m => m.bq_Question.Order) .ToList(); var test = blTest.GetById(testId); var quiz = blQuiz.GetById(test.QuizId); model.TestModel = test; model.QuizModel = quiz; return(View(model)); }
public ActionResult Start(Guid quizId) { bl_Test bl_test = new bl_Test(); bl_Question bl_question = new bl_Question(); bl_Answer bl_answer = new bl_Answer(); var testId = bl_test.Create(ps_Membership.GetUser().UserId, quizId); var questionList = bl_question.GetByQuizId(quizId); foreach (var item in questionList) { bl_answer.Modify( testId, item.QuestionId, 0); } return(RedirectToAction("Publishing", "Quiz", new { quizId = quizId, testId = testId })); }
public ActionResult Run(Guid groupId, Guid testId) { bl_Test bl_test = new bl_Test(); bl_QuestionGroup bl_group = new bl_QuestionGroup(); bl_Question bl_question = new bl_Question(); bl_Answer bl_answer = new bl_Answer(); var test = bl_test.GetById(testId); var time = test.StartTime.AddHours(2) - DateTime.Now; var group = new ps_Group(); group.Group = bl_group.GetById(groupId); group.QuizId = group.Group.QuizId; group.TestId = testId; group.Group.Paragraph = HttpUtility.HtmlDecode(group.Group.Paragraph); group.QuestionList = bl_question.GetByGroupId(groupId); group.AnswerList = bl_answer.GetByGroupId(groupId, testId); return(View(group)); }
public static int GetMark_Listen(Guid testId) { bl_Answer blAnswer = new bl_Answer(); var answers = blAnswer.GetByTestId(testId); int listen = 0, mark_listen = 0; foreach (var item in answers) { if ((item.bq_Question.Answer != 0) && (item.Answer == item.bq_Question.Answer) && ((item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 1) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 2) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 3) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 4))) { listen++; if (listen < 7) { mark_listen = 5; } if (listen >= 7) { switch (listen) { case 26: mark_listen = 110; break; case 35: mark_listen = 160; break; case 44: mark_listen = 210; break; case 48: mark_listen = 240; break; case 53: mark_listen = 270; break; case 59: mark_listen = 310; break; case 64: mark_listen = 340; break; case 67: mark_listen = 360; break; case 70: mark_listen = 380; break; case 77: mark_listen = 420; break; case 80: mark_listen = 440; break; case 83: mark_listen = 460; break; case 90: mark_listen = 495; break; case 91: mark_listen = 495; break; case 92: mark_listen = 495; break; case 93: mark_listen = 495; break; case 94: mark_listen = 495; break; case 95: mark_listen = 495; break; case 96: mark_listen = 495; break; case 97: mark_listen = 495; break; case 98: mark_listen = 495; break; case 99: mark_listen = 495; break; case 100: mark_listen = 495; break; default: mark_listen = mark_listen + 5; break; } } } } return(mark_listen); }
public static int GetMark_Read(Guid testId) { bl_Answer blAnswer = new bl_Answer(); var answers = blAnswer.GetByTestId(testId); int read = 0, mark_read = 0; foreach (var item in answers) { if ((item.bq_Question.Answer != 0) && (item.Answer == item.bq_Question.Answer) && ((item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 5) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 6) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 7) || (item.bq_Question.bq_QuestionGroup.bq_Part.PartId == 8))) { read++; if (read < 16) { mark_read = 5; } if (read >= 16) { switch (read) { case 25: mark_read = 60; break; case 28: mark_read = 80; break; case 33: mark_read = 110; break; case 38: mark_read = 140; break; case 41: mark_read = 160; break; case 46: mark_read = 190; break; case 49: mark_read = 210; break; case 56: mark_read = 250; break; case 61: mark_read = 280; break; case 64: mark_read = 300; break; case 67: mark_read = 320; break; case 72: mark_read = 350; break; case 77: mark_read = 380; break; case 92: mark_read = 465; break; case 98: mark_read = 495; break; case 99: mark_read = 495; break; case 100: mark_read = 495; break; default: mark_read = mark_read + 5; break; } } } } return(mark_read); }