Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }