Esempio n. 1
0
        private List <SemesterCourseViewModel> CreateSemesterReport(Semester semester, ActivityOrganiser org)
        {
            var userInfoService = new UserInfoService();
            var model           = new List <SemesterCourseViewModel>();

            // Alle Lehrveranstaltungen in diesem Semester
            var courses = Db.Activities.OfType <Course>().Where(x => x.SemesterGroups.Any(s =>
                                                                                          s.Semester.Id == semester.Id && s.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == org.Id))
                          .ToList();

            // für jede Lehrveranstaltung alle Dozenten
            foreach (var course in courses)
            {
                // Alle Dozenten in dieser LV
                var lectures =
                    Db.Members.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Id)).ToList();


                // Für jede Semestergruppe
                foreach (var semesterGroup in course.SemesterGroups)
                {
                    foreach (var lecture in lectures)
                    {
                        var courseModel = new SemesterCourseViewModel
                        {
                            Course     = course,
                            Curriculum = semesterGroup.CapacityGroup.CurriculumGroup.Curriculum,
                            Lecturer   = lecture,
                            User       = userInfoService.GetUser(lecture.UserId),
                            Group      = semesterGroup
                        };

                        model.Add(courseModel);
                    }
                }
            }

            model = model.OrderBy(x => x.Curriculum.ShortName).ThenBy(x => x.Lecturer.Name).ToList();

            return(model);
        }
Esempio n. 2
0
        public PartialViewResult GetASemesterCourse(int?id)
        {
            SemesterCourseViewModel _semesterCourseViewModel = new SemesterCourseViewModel();
            //获取当前用户所负责征订的部门;2017.12.30
            var exitUsers          = UserManager.Users.Include(x => x.Departments).ToList();            //获取系统所有用户 及管理的部门。
            var currentUser        = exitUsers.SingleOrDefault(x => x.Id == User.Identity.GetUserId()); //获取登录用户。
            var currentDepartments = currentUser.Departments.ToList();                                  //获取登录用户所管理的部门。

            if (id == null)
            {
                var _exitSemesterBlank = from sem in db.Semesters //来自学期表
                                         where sem.IsCurrentSemester == true
                                         select sem;
                _semesterCourseViewModel.SemesterList = new SelectList(_exitSemesterBlank.Distinct().OrderBy(x => x.SemesterID), "SemesterID", "SemesterName");

                var _exitGradeBlank = from grad in db.GradeMajors //年级和专业来自gradeMajor;
                                      where grad.GradeMajorIsValidate == true
                                      select grad.Grade;
                _semesterCourseViewModel.GradesList = new SelectList(_exitGradeBlank.Distinct().OrderBy(g => g.GradeID), "GradeID", "GradeName");


                var _exitDepartmentBlank = from grad in db.GradeMajors.Include(x => x.Major.Department)
                                           select grad.Major.Department;
                var _returnDepartmentBlank = _exitDepartmentBlank.Distinct().OrderBy(x => x.DepartmentID).ToList();
                _semesterCourseViewModel.DepartmentList = new SelectList(_returnDepartmentBlank.Where(x => currentDepartments.Contains(x)), "DepartmentID", "DepartmentName");

                var _exitMajorBlank = from maj in db.GradeMajors.Include(x => x.Major)
                                      select maj.Major;
                var _returnMajorBlank = _exitMajorBlank.Distinct().OrderBy(x => x.DepartmentID).ThenBy(x => x.MajorID).ToList();
                _semesterCourseViewModel.MajorsList = new SelectList(_returnMajorBlank.Where(x => currentDepartments.Contains(x.Department)), "MajorID", "MajorName");


                return(PartialView("_Modal.FormContent", _semesterCourseViewModel));
            }

            SemesterCourse _semesterCourse = db.SemesterCourses.Find(id);

            _semesterCourseViewModel.SemesterCourseID = _semesterCourse.SemesterCourseID;

            var _exitSemester = from sem in db.Semesters //来自学期表
                                where sem.IsCurrentSemester == true
                                select sem;

            _semesterCourseViewModel.SemesterList = new SelectList(_exitSemester.Distinct().OrderBy(x => x.SemesterID), "SemesterID", "SemesterName", _semesterCourse.SemesterID);

            var _exitGrade = from grad in db.GradeMajors //年级和专业来自gradeMajor;
                             where grad.GradeMajorIsValidate == true
                             select grad.Grade;

            _semesterCourseViewModel.GradesList = new SelectList(_exitGrade.Distinct().OrderBy(g => g.GradeID), "GradeID", "GradeName", _semesterCourse.GradeMajor.GradeID);

            var _exitDepartment = from grad in db.GradeMajors.Include(x => x.Major.Department)
                                  select grad.Major.Department;
            var _returnDepartment = _exitDepartment.Distinct().OrderBy(x => x.DepartmentID).ToList();

            _semesterCourseViewModel.DepartmentList = new SelectList(_returnDepartment.Where(x => currentDepartments.Contains(x)), "DepartmentID", "DepartmentName", _semesterCourse.GradeMajor.Major.DepartmentID);

            var _exitMajor = from maj in db.GradeMajors.Include(x => x.Major)
                             where (maj.GradeMajorIsValidate == true)
                             select maj.Major;
            var _returnMajor = _exitMajor.Distinct().OrderBy(x => x.DepartmentID).ThenBy(x => x.MajorID).ToList();

            _semesterCourseViewModel.MajorsList = new SelectList(_returnMajor.Where(x => currentDepartments.Contains(x.Department)), "MajorID", "MajorName", _semesterCourse.GradeMajor.MajorID);

            _semesterCourseViewModel.SemesterCourseNumber = _semesterCourse.SemesterCourseNumber;
            _semesterCourseViewModel.SemesterCourseName   = _semesterCourse.SemesterCourseName;
            _semesterCourseViewModel.CourseType           = _semesterCourse.CourseType;

            return(PartialView("_Modal.FormContent", _semesterCourseViewModel));
        }
Esempio n. 3
0
        public PartialViewResult GetASemesterCourse(int?id)
        {
            SemesterCourseViewModel _semesterCourseViewModel = new SemesterCourseViewModel();

            if (id == null)
            {
                var _exitSemesterBlank = from sem in db.Semesters //来自学期表
                                         where sem.IsCurrentSemester == true
                                         select sem;
                _semesterCourseViewModel.SemesterList = new SelectList(_exitSemesterBlank.Distinct().OrderBy(x => x.SemesterID), "SemesterID", "SemesterName");

                var _exitGradeBlank = from grad in db.GradeMajors //年级和专业来自gradeMajor;
                                      where grad.GradeMajorIsValidate == true
                                      select grad.Grade;
                _semesterCourseViewModel.GradesList = new SelectList(_exitGradeBlank.Distinct().OrderBy(g => g.GradeID), "GradeID", "GradeName");


                var _exitDepartmentBlank = from grad in db.GradeMajors.Include(x => x.Major.Department)
                                           select grad.Major.Department;
                _semesterCourseViewModel.DepartmentList = new SelectList(_exitDepartmentBlank.Distinct().OrderBy(x => x.DepartmentID), "DepartmentID", "DepartmentName");



                var _exitMajorBlank = from maj in db.GradeMajors.Include(x => x.Major)
                                      select maj.Major;
                _semesterCourseViewModel.MajorsList = new SelectList(_exitMajorBlank.Distinct().OrderBy(x => x.DepartmentID).ThenBy(x => x.MajorID), "MajorID", "MajorName");


                return(PartialView("_Modal.FormContent", _semesterCourseViewModel));
            }

            SemesterCourse _semesterCourse = db.SemesterCourses.Find(id);

            _semesterCourseViewModel.SemesterCourseID = _semesterCourse.SemesterCourseID;

            var _exitSemester = from sem in db.Semesters //来自学期表
                                where sem.IsCurrentSemester == true
                                select sem;

            _semesterCourseViewModel.SemesterList = new SelectList(_exitSemester.Distinct().OrderBy(x => x.SemesterID), "SemesterID", "SemesterName", _semesterCourse.SemesterID);

            var _exitGrade = from grad in db.GradeMajors //年级和专业来自gradeMajor;
                             where grad.GradeMajorIsValidate == true
                             select grad.Grade;

            _semesterCourseViewModel.GradesList = new SelectList(_exitGrade.Distinct().OrderBy(g => g.GradeID), "GradeID", "GradeName", _semesterCourse.GradeMajor.GradeID);

            var _exitDepartment = from grad in db.GradeMajors.Include(x => x.Major.Department)
                                  select grad.Major.Department;

            _semesterCourseViewModel.DepartmentList = new SelectList(_exitDepartment.Distinct().OrderBy(x => x.DepartmentID), "DepartmentID", "DepartmentName", _semesterCourse.GradeMajor.Major.DepartmentID);

            var _exitMajor = from maj in db.GradeMajors.Include(x => x.Major)
                             where (maj.GradeMajorIsValidate == true)
                             select maj.Major;

            _semesterCourseViewModel.MajorsList = new SelectList(_exitMajor.Distinct().OrderBy(x => x.MajorID), "MajorID", "MajorName", _semesterCourse.GradeMajor.MajorID);

            _semesterCourseViewModel.SemesterCourseNumber = _semesterCourse.SemesterCourseNumber;
            _semesterCourseViewModel.SemesterCourseName   = _semesterCourse.SemesterCourseName;
            _semesterCourseViewModel.CourseType           = _semesterCourse.CourseType;

            return(PartialView("_Modal.FormContent", _semesterCourseViewModel));
        }