// private TADEDBEntities db = new TADEDBEntities();

        // GET: ExamResults

        public ActionResult ExamResultWithGrade()
        {
            if (Session["CandidateId"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            int CandidateId = Convert.ToInt32(Session["CandidateId"]);
            var jsobj       = TD.ExamResults.Include(e => e.CandidateDetail).Include(e => e.ExamType).Where(r => r.CandidateId == CandidateId).Select(x => new
            {
                FirstName      = x.CandidateDetail.FirstName,
                MiddleName     = x.CandidateDetail.MiddleName,
                LastName       = x.CandidateDetail.LastName,
                Email          = x.CandidateDetail.Email,
                Date           = x.Date,
                IPAddress      = x.CandidateDetail.IPAddress,
                ExamId         = x.CandidateDetail.ExamId,
                DateOfBirth    = x.CandidateDetail.DateOfBirth,
                DrivingLicense = x.CandidateDetail.DrivingLicenseNumber,
                Address        = x.CandidateDetail.AddressLine1 + "<br />" + x.CandidateDetail.AddressLine2 + "<br />" + x.CandidateDetail.AddressLine3 + "<br />" + x.CandidateDetail.PostCode,
                TotalScore     = x.Score,
                Grade          = x.Grade,
                Explanation    = x.Explanation
            }).ToList();
            DrivingTestResult DR = new Models.DrivingTestResult();

            DR.Date           = jsobj[0].Date;
            DR.IPAddress      = jsobj[0].IPAddress;
            DR.ExamId         = Convert.ToInt32(jsobj[0].ExamId);
            DR.DateOfBirth    = jsobj[0].DateOfBirth;
            DR.FirstName      = jsobj[0].FirstName;
            DR.MiddleName     = jsobj[0].MiddleName;
            DR.LastName       = jsobj[0].LastName;
            DR.Email          = jsobj[0].Email;
            DR.Address        = jsobj[0].Address;
            DR.DrivingLicense = jsobj[0].DrivingLicense;
            DR.Explanation    = jsobj[0].Explanation;
            DR.TotalScore     = 0;
            DR.Grade          = 0;
            foreach (var item in jsobj)
            {
                DR.TotalScore = DR.TotalScore + item.TotalScore;
                DR.Grade      = DR.Grade + item.Grade;
            }

            SendMail(DR);
            TADEDBEntities  candUpd = new TADEDBEntities();
            CandidateDetail cd      = candUpd.CandidateDetails.Find(CandidateId);

            cd.Status               = false;
            cd.ExamAttended         = true;
            candUpd.Entry(cd).State = EntityState.Modified;
            candUpd.SaveChanges();
            Session["CandidateId"] = null;
            return(View(DR));
        }