public ActionResult EvaluateTests() { if (Session["usercookie"] == null) { return(RedirectToAction("Authenticate", "Users")); } else { try { List <EvaluateTests> pending = new List <EvaluateTests>(); using (DBEntities dbcontext = new DBEntities()) { var evaluateUsers = dbcontext.StudentTestLog.Select(s => new { s.CourseId, s.UserId, s.TestId }).Distinct().ToList(); for (int i = 0; i < evaluateUsers.Count; i++) { EvaluateTests test = new EvaluateTests(); test.TestId = evaluateUsers[i].TestId; test.Id = evaluateUsers[i].UserId; test.CourseId = evaluateUsers[i].CourseId; test.UserName = dbcontext.Users.Where(u => u.Id == test.Id).Select(s => s.UserName).FirstOrDefault(); test.CourseName = dbcontext.Courses.Where(c => c.CourseId == test.CourseId).Select(c => c.CourseName).FirstOrDefault(); test.lastReviewed = dbcontext.Scores.Where(c => c.TestId == test.TestId).Select(c => c.LastUpdatedDate).FirstOrDefault(); if (string.IsNullOrEmpty(test.lastReviewed.ToString())) { test.status = "Pending for Review"; } else { test.status = "Done"; } bool ReportCard = dbcontext.ReportCard.Where(r => r.TestId == test.TestId).Select(r => r.IsRevaluate).FirstOrDefault(); if (ReportCard) { test.isRevalidate = true; } else { test.isRevalidate = false; } pending.Add(test); } pending.Insert(0, new EvaluateTests()); return(View(pending)); } } catch (Exception ex) { ViewData["MSG"] = "Failed to Evaluate Test!!.Please try again later.Error: " + ex.Message; return(RedirectToAction("DashBoard", "Admin")); } } }
// ReSharper disable once UnusedParameter.Local static void Main(string[] args) { ParseTests.Run(); EvaluateTests.Run(); }