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); }
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)); }
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)); }