public IEnumerable <ViewResultViewModel> GetResultListByStudentId(int studentId) { IEnumerable <StudentEnrollInCourse> studentCourse = aUnitOfWork.Repository <StudentEnrollInCourse>() .GetList(x => x.StudentId == studentId && x.IsAcTive == true); List <ViewResultViewModel> resultList = new List <ViewResultViewModel>(); foreach (var temp in studentCourse) { ViewResultViewModel aViewModel = new ViewResultViewModel(); Result aResult = aUnitOfWork.Repository <Result>() .GetModel(x => x.StudentId == studentId && x.CourseId == temp.CourseId && x.IsActive == true); Course aCourse = aCourseManager.GetACourse(temp.CourseId); aViewModel.Code = aCourse.Code; aViewModel.Name = aCourse.Name; if (aResult == null) { aViewModel.Grade = "Not Graded Yet"; } else { aViewModel.Grade = aResult.Grade; } resultList.Add(aViewModel); } return(resultList); }
// GET: ViewResult public ActionResult ViewResult() { ViewResultViewModel vrvm = new ViewResultViewModel(); string loggedInStudent = User.Identity.GetUserName(); var results = db.Database.SqlQuery <DBres>("select s1.submissionid, s1.adminno, s1.assignmentid, a.assignmentid, a.assgntitle, a.startdate, a.duedate, s1.grade, s1.filepath, s1.timestamp from submission s1 inner join( select max(submissionid) submissionid, adminno, assignmentid, max(timestamp) timestamp from submission group by adminno, assignmentid ) s2 on s1.submissionid = s2.submissionid inner join( select * from assignment where deletedat is null ) a on s1.assignmentid = a.assignmentid where s1.adminno = @inStudent", new SqlParameter("@inStudent", loggedInStudent)).ToList(); List <String> Assignment = new List <String>(); List <String> AssignmentId = new List <String>(); List <String> IssuedOn = new List <String>(); List <String> DueDate = new List <String>(); List <String> Result = new List <String>(); List <String> Overall = new List <String>(); List <String> SubmittedOn = new List <String>(); List <String> Submission = new List <String>(); foreach (var r in results) { Assignment.Add(r.assgntitle); IssuedOn.Add(r.startdate.ToString()); DueDate.Add(r.duedate.ToString()); Result.Add((int)Math.Round(r.grade * 100) + "%"); if (r.grade >= 0.5M) { Overall.Add("Pass"); } else { Overall.Add("Fail"); } SubmittedOn.Add(r.timestamp.ToString()); Submission.Add("/Student/Download/?file=" + Regex.Replace(r.assgntitle, @"\s+", "") + r.assignmentid); } vrvm.Assignment = Assignment; vrvm.IssuedOn = IssuedOn; vrvm.DueDate = DueDate; vrvm.Result = Result; vrvm.Overall = Overall; vrvm.SubmittedOn = SubmittedOn; vrvm.Submission = Submission; return(View(vrvm)); }