public static List <student_grade> GetStudentGradeListByQual(db_tafebuddyEntities db, string studentId, string qual) { List <student_grade> listGrades = new List <student_grade>(); student_studyplan ssp = db.student_studyplan.Where(a => a.QualCode.ToUpper().Equals(qual.ToUpper())).FirstOrDefault(); Dictionary <string, string> subjects = new Dictionary <string, string>(); var grades = db.student_grade.Where(a => a.StudentID.Equals(studentId)).ToList(); grades.ForEach(a => subjects.Add(a.CRN, a.crn_detail.SubjectCode)); // all the subjects according to the qualification List <string> subCodes = SRVReusltFunc.GetSubjectsByQualification(db, qual); foreach (var item in subCodes) { bool found = false; foreach (var i in subjects) { if (i.Value.ToUpper().Equals(item.ToUpper())) { student_grade grade = db.student_grade.Where(a => a.crn_detail.CRN.ToUpper().Equals(i.Key.ToUpper()) && a.StudentID.Equals(studentId)).FirstOrDefault() as student_grade; listGrades.Add(grade); found = true; } } if (!found) { crn_detail cd = db.crn_detail.Where(a => a.SubjectCode.ToUpper().Equals(item.ToUpper())).FirstOrDefault(); student_studyplan ss = db.student_studyplan.Where(a => a.StudentID.Equals(studentId) && a.QualCode.Equals(qual)).FirstOrDefault(); if (cd != null) { listGrades.Add(new student_grade() { StudentID = studentId, CRN = cd.CRN, TafeCompCode = cd.TafeCompCode, TermCode = ss.TermCodeStart, TermYear = ss.TermYearStart, Grade = "NS", GradeDate = null, crn_detail = cd, student = grades[0].student }); } } } return(listGrades); }
// GET: crn_detail/Details/5 // puts the 3 primary keys of the crn_detail table // into a variable and sends it to details view // (logic for the sending to details view is in the partial view in the // shared folder) public ActionResult Details(string id, int termCodeStart, int termYearStart) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } crn_detail crn_detail = db.crn_detail.Find( id, termCodeStart, termYearStart ); if (db.crn_detail == null) { return(HttpNotFound()); } return(View(crn_detail)); }
//this ActionResult is what filters out the list using if statements public ActionResult Index(crn_detail crn) { //created some variables that contain the primary and foreign keys of the //tables var CRN = Request.Form["CRNList"].ToString(); var campus = Request.Form["CampusList"].ToString(); var Lecturer = Request.Form["LecturerList"].ToString(); var subject = Request.Form["SubjectList"].ToString(); //uses a drop down menu with all args constructor //the reason we have 2 is so that we can save the state of the drop //down menu selection dropdownMenu(CRN, campus, Lecturer, subject); //------------------filters for the list------------------ //CRN filter if (CRN != "" && campus == "" && Lecturer == "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN)); return(View(crn_detail.ToList())); } //CRN, campus filter if (CRN != "" && campus != "" && Lecturer == "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.CampusCode.Equals(campus)); return(View(crn_detail.ToList())); } //CRN, subject filter if (CRN != "" && campus == "" && Lecturer == "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } //CRN, lecturer filter if (CRN != "" && campus == "" && Lecturer != "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.LecturerID.Equals(Lecturer)); return(View(crn_detail.ToList())); } //CRN, campus, lecturer filter if (CRN != "" && campus != "" && Lecturer != "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.CampusCode.Equals(campus) && a.LecturerID.Equals(Lecturer)); return(View(crn_detail.ToList())); } //CRN, campus, subject filter if (CRN != "" && campus != "" && Lecturer == "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.CampusCode.Equals(campus) && a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } //CRN, subject, lecturer filter if (CRN != "" && campus == "" && Lecturer != "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.SubjectCode.Equals(subject) && a.LecturerID.Equals(Lecturer)); return(View(crn_detail.ToList())); } //CRN, campus, lecturer, subject filter if (CRN != "" && campus != "" && Lecturer != "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CRN.Equals(CRN) && a.CampusCode.Equals(campus) && a.LecturerID.Equals(Lecturer) && a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } // campus if (CRN == "" && campus != "" && Lecturer == "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CampusCode.Equals(campus)); return(View(crn_detail.ToList())); } // campus, lecturer, subject filter if (CRN == "" && campus != "" && Lecturer != "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.CampusCode.Equals(campus) && a.LecturerID.Equals(Lecturer) && a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } //lecturer filter if (CRN == "" && campus == "" && Lecturer != "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.LecturerID.Equals(Lecturer)); return(View(crn_detail.ToList())); } // lecturer, subject filter if (CRN == "" && campus == "" && Lecturer != "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.LecturerID.Equals(Lecturer) && a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } // subject filter if (CRN == "" && campus == "" && Lecturer == "" && subject != "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime).Where(a => a.SubjectCode.Equals(subject)); return(View(crn_detail.ToList())); } //no item selected if (CRN == "" && campus == "" && Lecturer == "" && subject == "") { var crn_detail = db.crn_detail.Include(c => c.campu).Include(c => c.competency).Include(c => c.subject).Include(c => c.term_datetime); return(View(crn_detail.ToList())); } return(View()); }