// GET: PerformTest public bool CheckTime() { SchedulesModels userSchedules = getUserSchedules(); DetailsRegistrations userDetailsReg = getUserDetails(); if (userDetailsReg != null && userSchedules != null) { DateTime Now = DateTime.Now; DateTime ScheduleTime = userSchedules.DateOfTime; if (Now.Date > ScheduleTime.Date) { ViewBag.CheckDate = false; ViewBag.CheckText = "Exam has been over!"; return(false); } else if (userDetailsReg.Mark != -1) { ViewBag.CheckDate = false; ViewBag.CheckText = "You have already test! click under link to view the results!"; ViewBag.CheckLink = "Go to result!"; return(false); } else { ViewBag.CheckDate = true; ViewBag.CheckText = "You have start your test"; } return(true); } ViewBag.CheckDate = false; ViewBag.CheckText = "Your current exam schedule is not available, please try again later!"; return(false); }
public ActionResult Begin() { bool check = CheckTime(); if (check == true) { SchedulesModels userSchedules = getUserSchedules(); int ExamID = userSchedules.ExamID; GetData(); List <int> MyList = new List <int>(); var ListDetailsQuestions = db.DetailsExamModels.Where(r => r.ExamID == ExamID).ToList(); ViewData["DetailQuestions"] = ListDetailsQuestions; foreach (var item in ListDetailsQuestions) { MyList.Add(item.QuestionsID); } ViewBag.Test = ListDetailsQuestions; ViewData["MyQuestions"] = db.QuestionsModels.Where(r => MyList.Contains(r.QuestionsID)).ToList(); DetailsRegistrations userDetail = getUserDetails(); userDetail.Mark = 0; db.Entry(userDetail).State = EntityState.Modified; db.SaveChanges(); return(View(db.ExamModels.ToList())); } else { return(RedirectToAction("Index", "Home")); } }
public ActionResult ScheduleEdit([Bind(Include = "RegistrationID,AccountID,ScheduleID,Mark")] DetailsRegistrations detailsRegistrations) { if (ModelState.IsValid) { db.Entry(detailsRegistrations).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(detailsRegistrations)); }
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")); }
public ActionResult Schedule([Bind(Include = "")] DetailsRegistrations detailsRegistrations) { if (ModelState.IsValid) { detailsRegistrations.Mark = -1; db.DetailsRegistrations.Add(detailsRegistrations); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(detailsRegistrations)); }
private SchedulesModels getUserSchedules() { DetailsRegistrations detailsRegistrations = getUserDetails(); if (detailsRegistrations != null) { int ScheduleID = detailsRegistrations.ScheduleID; SchedulesModels userSchedules = db.Schedules.Find(ScheduleID); return(userSchedules); } return(null); }
public ActionResult Details(int?id) { GetData(); // DetailsRegistrations userDetail = getUserDetails(id); SchedulesModels userSchedules = getUserSchedules(userDetail.ScheduleID); int ExamID = userSchedules.ExamID; List <int> MyList = new List <int>(); // var ListDetailsQuestions = db.DetailsExamModels.Where(r => r.ExamID == ExamID).ToList(); ViewData["DetailQuestions"] = ListDetailsQuestions; foreach (var item in ListDetailsQuestions) { MyList.Add(item.QuestionsID); } ViewBag.Test = ListDetailsQuestions; ViewData["MyQuestions"] = db.QuestionsModels.Where(r => MyList.Contains(r.QuestionsID)).ToList(); ViewData["CandidateAnswer"] = db.CandidateAnswers.Where(r => r.AccountID == id); ViewData["PerformTest"] = db.PerformTests.Where(r => r.AccountID == id); return(View()); }
public ActionResult Result() { DetailsRegistrations userDetails = getUserDetails(); return(View(userDetails)); }