Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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 }));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }