public JsonResult SaveCandidateAnswer(CandidateAnswer objcandidateAnswer)
        {
            List <CandidateAnswer> canAnswer = Session["CadQuestionAnswer"] as List <CandidateAnswer>;

            if (objcandidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = Session["CadQuestionAnswer"] as List <CandidateAnswer>;
                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }
                objCandidateAnswers.Add(objcandidateAnswer);
                Session["CadQuestionAnswer"] = objCandidateAnswers;
            }



            foreach (var item in canAnswer)
            {
                OnlineTestResult result = new OnlineTestResult();
                result.AnswerText = item.AnswerText;
                result.QuestionId = item.QuestionId;

                result.UserId  = Convert.ToInt32(Session["Cliente"]);
                result.Role_Id = Convert.ToInt32(Session["RoleId"]);

                db.OnlineTestResults.Add(result);
                db.SaveChanges();
            }
            return(Json(new { message = "Data Successfully Added", success = true }, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public bool saveCandidateAnswer(CandidateAnswer candidateAnswer)
        {
            List <CandidateAnswer> canAnswers = HttpContext.Current.Session["CandidateQuestionAnswer"] as List <CandidateAnswer>;

            if (candidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = HttpContext.Current.Session["CandidateQuestionAnswer"] as List <CandidateAnswer>;
                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }
                objCandidateAnswers.Add(candidateAnswer);
                HttpContext.Current.Session["CandidateQuestionAnswer"] = objCandidateAnswers;
            }
            foreach (var item in canAnswers)
            {
                Result result = new Result();
                result.AnswerText = item.AnswerText;
                result.QuestionId = item.QuestionId;
                result.UserId     = Convert.ToInt32(HttpContext.Current.Session["UserId"]);
                context.Results.Add(result);
            }
            if (context.SaveChanges() > 0)
            {
                return(true);
            }
            return(false);
        }
        public PartialViewResult UserQuestionAnswer(CandidateAnswer objCandidateAnswer)
        {
            bool IsLast = false;


            if (objCandidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = Session["CadQuestionAnswer"] as List <CandidateAnswer>;

                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }

                objCandidateAnswers.Add(objCandidateAnswer);
                Session["CadQuestionAnswer"] = objCandidateAnswers;
            }
            int pageSize   = 1;
            int pageNumber = 0;
            int CourseId   = Convert.ToInt32(Session["CourseId"]);

            if (Session["CadQuestionAnswer"] == null)
            {
                pageNumber = pageNumber + 1;
            }
            else
            {
                List <CandidateAnswer> canAnswer = Session["CadQuestionAnswer"] as List <CandidateAnswer>;
                pageNumber = canAnswer.Count + 1;
            }

            List <OnlineTest> listonlinetest = new List <OnlineTest>();

            listonlinetest = db.OnlineTests.Where(model => model.CourseId == CourseId).ToList();
            if (pageNumber == listonlinetest.Count)
            {
                IsLast = true;
            }


            tbl_onlinetestAnswer objAnswer   = new tbl_onlinetestAnswer();
            OnlineTest           objquestion = new OnlineTest();

            objquestion = listonlinetest.Skip((pageNumber - 1) * pageSize).Take(pageSize).FirstOrDefault();

            objAnswer.IsLast           = IsLast;
            objAnswer.QuestionId       = objquestion.QuestionId;
            objAnswer.Questionname     = objquestion.QuestionName;
            objAnswer.ListOfQuizOption = (from obj in db.OnlineTestQuestionOptions
                                          where obj.QuestionId == objquestion.QuestionId
                                          select new tbl_onlinetestoption()
            {
                OptionName = obj.OptionName,
                OptionId = obj.OptionId
            }).ToList();


            return(PartialView("quizquestionoption", objAnswer));
        }
        public ActionResult Begin(int?id)
        {
            int        AcountID             = getUserAccounts().AccountID;
            int        ExamID               = getUserSchedules().ExamID;
            List <int> MyList               = new List <int>();
            var        ListDetailsQuestions = db.DetailsExamModels.Where(r => r.ExamID == 1).ToList();

            ViewData["DetailQuestions"] = ListDetailsQuestions;
            foreach (var item in ListDetailsQuestions)
            {
                MyList.Add(item.QuestionsID);
            }
            var ListMyQuestions = db.QuestionsModels.Where(r => MyList.Contains(r.QuestionsID)).ToList();
            //update candidate mark's

            int CandidateMark = 0, totalMark = 0;

            foreach (var item in ListMyQuestions)
            {
                //logic mark
                string name = "T" + item.TypeOfQuestion + item.QuestionsID;
                var    temp = int.Parse(Request.Form[name]);
                if (temp == item.CorrectAnswer)
                {
                    CandidateMark += item.Mark;
                }
                totalMark += item.Mark;
                //add candidate answer
                int             value        = int.Parse(Request.Form[name]);
                CandidateAnswer NewCanAnswer = new CandidateAnswer();
                NewCanAnswer.QuestionID = item.QuestionsID;
                NewCanAnswer.AccountID  = AcountID;
                NewCanAnswer.Answer     = value;
                db.CandidateAnswers.Add(NewCanAnswer);
            }
            //add mark
            int userMark = (CandidateMark * 100) / totalMark;
            DetailsRegistrations userDetail = getUserDetails();

            userDetail.Mark            = userMark;
            db.Entry(userDetail).State = EntityState.Modified;
            //add record candidate test
            PerformTest record = new PerformTest();

            record.AccountID     = AcountID;
            record.AddedDate     = DateTime.Now;
            record.ExamID        = ExamID;
            record.TimePartOne   = Request.Form["timeRemaingOne"];
            record.TimePartTwo   = Request.Form["timeRemaingTwo"];
            record.TimePartThree = Request.Form["timeRemaingThree"];
            db.PerformTests.Add(record);
            //
            db.SaveChanges();
            return(Redirect("Result"));
        }
示例#5
0
 public JsonResult saveCandidateAnswer(CandidateAnswer candidateAnswer)
 {
     if (quizLogic.saveCandidateAnswer(candidateAnswer))
     {
         return(Json(new { message = "Data is saved successfully", success = true }, JsonRequestBehavior.AllowGet));
     }
     else
     {
         return(Json(new { message = "Error in saving result", success = true }, JsonRequestBehavior.AllowGet));
     }
 }
示例#6
0
        public QuizQuestion getQuestionCandidateAnswers(CandidateAnswer candidateAnswer)
        {
            bool isLast = false;

            if (candidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = HttpContext.Current.Session["CandidateQuestionAnswer"] as List <CandidateAnswer>;
                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }
                objCandidateAnswers.Add(candidateAnswer);
                HttpContext.Current.Session["CandidateQuestionAnswer"] = objCandidateAnswers;
            }
            int pageSize   = 1;
            int pageNumber = 0;
            int CategoryId = Convert.ToInt32(HttpContext.Current.Session["CategoryId"]);

            if (HttpContext.Current.Session["CandidateQuestionAnswer"] == null)
            {
                pageNumber += 1;
            }
            else
            {
                List <CandidateAnswer> candidateAnswers = HttpContext.Current.Session["CandidateQuestionAnswer"] as List <CandidateAnswer>;
                pageNumber = candidateAnswers.Count + 1;
            }
            List <Question> listOfQuestions = new List <Question>();

            listOfQuestions = context.Questions.Where(model => model.CategoryId == CategoryId).ToList();
            if (pageNumber == listOfQuestions.Count)
            {
                isLast = true;
            }
            QuizQuestion objAnswerViewModel = new QuizQuestion();
            Question     question           = new Question();

            question = listOfQuestions.Skip((pageNumber - 1) * pageSize).Take(pageSize).FirstOrDefault();
            objAnswerViewModel.isLast       = isLast;
            objAnswerViewModel.QuestionId   = question.QuestionId;
            objAnswerViewModel.QuestionText = question.QuestionText;
            objAnswerViewModel.ListOptions  = (from option in context.Options
                                               where option.QuestionId == objAnswerViewModel.QuestionId
                                               select new QuizOption()
            {
                OptionName = option.optionName,
                Id = option.OptionId
            }).ToList();

            return(objAnswerViewModel);
        }
示例#7
0
        public CandidateAnswer AnswerDetailsObject(string email, string examCode, string QId, byte correctStatus, string checkedOption)
        {
            var answerDetails = new CandidateAnswer()
            {
                Email          = email,
                CompletionTime = DateTime.Now.ToString(),
                CorrectStatus  = correctStatus,
                Id             = Convert.ToInt16(QId),
                CreatedDate    = DateTime.Now,
                TestCode       = examCode,
                Answer         = checkedOption
            };

            return(answerDetails);
        }
示例#8
0
        public void submitAllQuestions(SubmitAnswerCustomModel value, Dictionary <string, string> email)
        {
            var allQuestions   = db.Questions.Where(s => s.ExamCode == value.code).ToList();
            var savedQuestions = db.CandidateAnswer.Where(s => s.TestCode == value.code && s.Email == email["Email"]).ToList();

            int i;

            if (savedQuestions.Count != 0)
            {
                for (i = 0; i < allQuestions.Count; i++)
                {
                    var status = db.CandidateAnswer.Where(s => s.Id == allQuestions[i].Id).FirstOrDefault();
                    if (status == null)
                    {
                        String id = allQuestions[i].Id.ToString();

                        CandidateAnswer answerDetails = AnswerDetailsObject(email["Email"], value.code, id, 0, null);
                        db.CandidateAnswer.Add(answerDetails);
                        db.SaveChanges();
                    }
                }
                db.CandidateResult.Where(s => s.Email == email["Email"] && s.TestCode == value.code).ToList().ForEach(x => x.SubmitExam = 1);
                db.SaveChanges();
                //if (allQuestions.Count == savedQuestions.Count)
                //{
                //    db.CandidateResult.Where(s => s.Email == email["Email"] && s.TestCode == value.code).ToList().ForEach(x=> x.SubmitExam = 1);
                //    db.SaveChanges();
                //    return;
                //}
            }
            else
            {
                CandidateResult resultDetails = ResultDetailsObject(0, email["Email"], value.code, 0);
                db.CandidateResult.Add(resultDetails);
                db.SaveChanges();
                for (i = 0; i < allQuestions.Count; i++)
                {
                    String          id            = allQuestions[i].Id.ToString();
                    CandidateAnswer answerDetails = AnswerDetailsObject(email["Email"], value.code, id, 0, null);
                    db.CandidateResult.Where(s => s.Email == email["Email"] && s.TestCode == value.code).ToList().ForEach(x => x.SubmitExam = 1);
                    db.CandidateAnswer.Add(answerDetails);
                    db.SaveChanges();
                }
            }
        }
示例#9
0
        public JsonResult SaveCandidateAnswer(CandidateAnswer objCandidateAnswer)
        {
            Answer answer = new Answer();

            var ans = (from obj in obQuizDbEntities.Answers
                       where obj.QuestionId == objCandidateAnswer.QuestionId
                       select obj.Answertext);


            Result result = new Result();

            result.AnswerText = objCandidateAnswer.AnswerText;
            result.UserId     = Session["CandidateName"].ToString();
            result.QuestionId = Convert.ToInt32(Session["questionid"]);
            obQuizDbEntities.Results.Add(result);
            obQuizDbEntities.SaveChanges();

            return(Json(new { message = "Data Successfully Added", success = true }, JsonRequestBehavior.AllowGet));
        }
示例#10
0
        public PartialViewResult userQuestionAnswer(CandidateAnswer objCandidateAnswer)

        {
            bool IsLast = false;

            if (Session["co"] == null)
            {
                Session["co"] = 1;
            }
            else
            {
                var i = Convert.ToInt32(Session["co"]);
                i++;
                Session["co"] = i;
            }
            if (objCandidateAnswer.AnswerText != null)
            {
                var ans = (from obj in obQuizDbEntities.Answers
                           where obj.QuestionId.Equals(objCandidateAnswer.QuestionId)
                           select obj).FirstOrDefault();

                Result result = new Result();
                result.AnswerText = objCandidateAnswer.AnswerText;
                result.UserId     = Session["CandidateName"].ToString();
                // result.QuestionId = objCandidateAnswer.QuestionId;
                result.QuestionId = Convert.ToInt32(Session["questionid"]);
                obQuizDbEntities.Results.Add(result);
                obQuizDbEntities.SaveChanges();
            }
            if (objCandidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = Session["CadQuestionAnswer"] as List <CandidateAnswer>;
                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }
                objCandidateAnswers.Add(objCandidateAnswer);
                Session["CadQuestionanswer"] = objCandidateAnswers;
            }

            int pageSize   = 1;
            int pageNumber = 0;
            int CategoryId = Convert.ToInt32(Session["CategoryId"]);

            if (Session["CadQuestionAnswer"] == null)
            {
                pageNumber = pageNumber + 1;
            }
            else
            {
                List <CandidateAnswer> canAnswer = Session["CanQuestionAnswer"] as List <CandidateAnswer>;
                pageNumber = Convert.ToInt32(Session["co"]);
                //  pageNumber = canAnswer.Count + 1;
                //pageNumber = pageNumber + 1;
            }
            List <Question> listOfQuestion = new List <Question>();

            listOfQuestion = obQuizDbEntities.Questions.Where(model => model.CategoryId == CategoryId).ToList();
            if (pageNumber == listOfQuestion.Count)
            {
                IsLast = true;
                var candidate = Session["CandidateName"].ToString();

                // Session["co"] = null;
            }

            QuestionAnswerViewModel objAnswerViewModel = new QuestionAnswerViewModel();
            Question objQuestion = new Question();

            objQuestion = listOfQuestion.Skip((pageNumber - 1) * pageSize).Take(pageSize).FirstOrDefault();
            objAnswerViewModel.isLast            = IsLast;
            objAnswerViewModel.QuestionId        = objQuestion.QuestionId;
            Session["questionid"]                = objQuestion.QuestionId;
            objAnswerViewModel.QuestionName      = objQuestion.QuestionName;
            objAnswerViewModel.ListOfQuizOptions = (from obj in obQuizDbEntities.Options
                                                    where obj.QuestionId == objQuestion.QuestionId
                                                    select new QuizOption()
            {
                OptionName = obj.OptionName,
                OptionId = obj.OptionId
            }).ToList();

            return(PartialView("QuizQuestionOption", objAnswerViewModel));
        }
示例#11
0
        public PartialViewResult UserQuestionAnswer(CandidateAnswer candidateAnswer)
        {
            QuizQuestion quizQuestion = quizLogic.getQuestionCandidateAnswers(candidateAnswer);

            return(PartialView("_QuizQuestion", quizQuestion));
        }