// GET: Classes/Show/{}
        // ActionResult function to display details about a particular class
        public ActionResult Show(int id)
        {
            ClassesDataController controller = new ClassesDataController();
            Classes newClass = controller.FindClass(id);

            StuXCla filterClass = new StuXCla
            {
                class_id = id
            };

            StudentXClassesDataController studentxclass_controller = new StudentXClassesDataController();
            IEnumerable <StuXCla>         listofStuXClass          = studentxclass_controller.ListClassesOfStudent(filterClass);

            List <Student> listofStudentsTakingAClass = new List <Student> {
            };
            StudentDataController student_controller  = new StudentDataController();
            string StringOfStudentIDs = "";

            foreach (var StuXIns in listofStuXClass)
            {
                StringOfStudentIDs += StuXIns.student_id + ",";
            }

            IEnumerable <Student> ListOfStudentsInAClass = student_controller.FilterStudents(null, null, null, null, StringOfStudentIDs);

            ClassAndTheirStudents studentclass = new ClassAndTheirStudents
            {
                classes  = newClass,
                students = ListOfStudentsInAClass
            };

            return(View(studentclass));
        }
示例#2
0
        public IEnumerable <StuXCla> ListClassesOfStudent(StuXCla studentClassFilter)
        {
            // Creating instance of the connection
            MySqlConnection Conn = School.AccessDatabase();

            // Opening connection between server and DB
            Conn.Open();
            // New command for query
            MySqlCommand cmd = Conn.CreateCommand();

            // SQL query for filtering
            cmd.CommandText = "Select * from studentsxclasses where studentid = @studentkey or classid = @classkey;";

            // Sanitizing the query to prevent SQL injection
            cmd.Parameters.AddWithValue("@studentkey", studentClassFilter.student_id);
            cmd.Parameters.AddWithValue("@classkey", studentClassFilter.class_id);
            cmd.Prepare();

            // Storing the result of query execution into a variable
            MySqlDataReader ResultSet = cmd.ExecuteReader();
            // empty list of type Student
            List <StuXCla> Details = new List <StuXCla> {
            };


            // Read until the result set is complete
            while (ResultSet.Read())
            {
                StuXCla NewStuXClassInstance = new StuXCla
                {
                    class_id   = Convert.ToInt32(ResultSet["classid"]),
                    student_id = Convert.ToInt32(ResultSet["studentid"])
                };

                // Adding student object into a list
                Details.Add(NewStuXClassInstance);
            }

            // Close the connection
            Conn.Close();
            // Return the list of  objects
            return(Details);
        }
        // GET: Student/Show
        public ActionResult Show(int id)
        {
            StudentDataController controller = new StudentDataController();
            Student newStudent = controller.FindStudent(id);

            StuXCla filterClass = new StuXCla
            {
                student_id = id
            };

            StudentXClassesDataController studentxclass_controller = new StudentXClassesDataController();
            IEnumerable <StuXCla>         listofStuXClass          = studentxclass_controller.ListClassesOfStudent(filterClass);

            List <Classes> listofClassesStudentIsTaking = new List <Classes> {
            };
            ClassesDataController class_controller      = new ClassesDataController();
            string StringOfClassIDs = "";

            foreach (var StuXIns in listofStuXClass)
            {
                StringOfClassIDs += StuXIns.class_id + ",";
            }

            Classes listClass = new Classes
            {
                classId = StringOfClassIDs
            };

            IEnumerable <Classes> ListOfClassesTakenByAStudent = class_controller.FilterClasses(listClass);

            StudentAndTheirClasses studentclass = new StudentAndTheirClasses
            {
                student = newStudent,
                classes = ListOfClassesTakenByAStudent
            };

            return(View(studentclass));
        }