Example #1
0
        public JsonResult getQuizById(QuizGetViewModel quizGetter)
        {
            int  id          = Int32.Parse(quizGetter.id);
            Quiz quizdetails = _db.Quizs.Where(q2 => q2.QuizID == id).FirstOrDefault();

            if (_db.IsAttempteds.Where(a => a.Username == quizGetter.Username && a.QuizID == quizdetails.QuizID).ToList().Count < 1)
            {
                IsAttempted iA = new IsAttempted();
                iA.AttemptedTime = DateTime.Now;
                iA.Learner       = _db.Users.Where(u => u.Username == quizGetter.Username).FirstOrDefault();
                iA.Quiz          = quizdetails;
                _db.IsAttempteds.Add(iA);
                _db.SaveChanges();
            }
            else
            {
                return(Json(new ApiResponse
                {
                    Message = "Quiz already attempted",
                    Status = false,
                }, JsonRequestBehavior.AllowGet));
            }


            return(Json(new ApiResponse
            {
                Message = "Found Information",
                Status = true,
                Data = new
                {
                    quizdetails.Questions.Count,
                    Questions = quizdetails.Questions.Select(s => new {
                        s.ID,
                        s.QuestionStatement,
                        s.Options,
                        s.Answer
                    }).ToList(),
                    quizdetails.Duration
                }
            }, JsonRequestBehavior.AllowGet));

            return(Json(new ApiResponse
            {
                Message = "Invalid Information",
                Status = false,
            }, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public ActionResult AttemptQuiz()
        {
            var name = Session["username"];

            if (name != null)
            {
                var  quiz        = Request["quizId"];
                int  qu          = int.Parse(quiz);
                Quiz quizdetails = _db.Quizs.Where(q2 => q2.QuizID == qu).FirstOrDefault();

                if (_db.IsAttempteds.Where(a => a.Username == (String)name && a.QuizID == quizdetails.QuizID).ToList().Count < 1)
                {
                    IsAttempted iA = new IsAttempted();
                    iA.AttemptedTime = DateTime.Now;
                    iA.Learner       = _db.Users.Where(u => u.Username == (String)name).FirstOrDefault();
                    iA.Quiz          = quizdetails;
                    _db.IsAttempteds.Add(iA);
                    _db.SaveChanges();
                }
                else
                {
                    TempData["msg"] = "You have Attempted this Quiz Already!";
                    var offeredCourseId = quizdetails.offeredCourseID;
                    return(RedirectToAction("ViewDetails", "Learner", new { offeredCourseId }));
                }


                ViewBag.quizId          = quiz;
                ViewBag.OfferedCourseID = quizdetails.offeredCourseID;
                ViewBag.LearnerID       = name;
                ViewBag.questions       = quizdetails.Questions.ToList();
                ViewBag.duration        = quizdetails.Duration * 60;

                return(View());
            }
            return(RedirectToAction("Index", "Default"));
        }