/// <summary> /// Gets schedule of student mapped to studentid /// </summary> /// <param name="studentid">ID of student to get schedule of</param> /// <returns>List(ClassWithTeacherInfo) of classes in student's schedule</returns> public List <ClassWithTeacherInfo> GetStudentSchedule(int studentid) { var schedule = (from studentsclasses in _context.StudentsClasses join classes in _context.Classes on studentsclasses.ClassId equals classes.ClassId join teachers in _context.Teachers on classes.TeacherId equals teachers.TeacherId select new { classes.ClassId, classes.TeacherId, teachers.TeacherFirstName, teachers.TeacherLastName, teachers.Email, classes.ClassName, classes.Period, classes.Location, studentsclasses.StudentId }).Where(s => s.StudentId == studentid).OrderBy(c => c.Period) .ToList(); List <ClassWithTeacherInfo> EnrolledClasses = new List <ClassWithTeacherInfo>(); foreach (var item in schedule) { ClassWithTeacherInfo studentClass = new ClassWithTeacherInfo { ClassId = item.ClassId, TeacherId = item.TeacherId, TeacherFirstName = item.TeacherFirstName, TeacherLastName = item.TeacherLastName, Email = item.Email, ClassName = item.ClassName, Period = item.Period, Location = item.Location }; EnrolledClasses.Add(studentClass); } return(EnrolledClasses); }
/// <summary> /// Gets list of all classes in database. /// </summary> /// <returns>List(ClassWithTeacherInfo) of all classes in database</returns> public List <ClassWithTeacherInfo> GetAllClasses() { List <ClassWithTeacherInfo> AllClasses = new List <ClassWithTeacherInfo>(); //LINQ Query to pull Classes + associated Teacher data var classList = (from classes in _context.Classes join teachers in _context.Teachers on classes.TeacherId equals teachers.TeacherId select new { classes.ClassId, teachers.TeacherId, teachers.TeacherFirstName, teachers.TeacherLastName, teachers.Email, classes.ClassName, classes.Period, classes.Location }).OrderBy(c => c.TeacherLastName).ThenBy(c => c.Period).ToList(); //Add query results to List<ClassWithTeacherInfo> foreach (var item in classList) { ClassWithTeacherInfo newClass = new ClassWithTeacherInfo() { ClassId = item.ClassId, TeacherId = item.TeacherId, TeacherFirstName = item.TeacherFirstName, TeacherLastName = item.TeacherLastName, Email = item.Email, ClassName = item.ClassName, Period = item.Period, Location = item.Location }; AllClasses.Add(newClass); } return(AllClasses); }