示例#1
0
        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());
        }