public IQueryable <SubscriptionDto> Courses([FromBody] SubscriptionCourseModel model) { var memberService = new MemberService(Db); var semService = new SemesterService(Db); var teachingService = new TeachingService(Db); var list = new List <SubscriptionDto>(); var user = GetUser(model.Id.ToString()); var members = memberService.GetFacultyMemberships(user.Id); var semester = semService.GetSemester(DateTime.Today); var teaching = teachingService.GetActivities(semester, user, members); foreach (var course in teaching.Courses) { var subModel = new SubscriptionDto(); subModel.CourseId = course.Course.Id; subModel.Title = course.Course.Name; list.Add(subModel); } return(list.AsQueryable()); }
// GET: Teaching public ActionResult Index(Guid?id) { var user = GetCurrentUser(); var members = MemberService.GetFacultyMemberships(user.Id); if (!members.Any()) { return(RedirectToAction("Apply")); } Semester currentSemester = null; if (id == null) { // das aktuelle Semester bestimmen es gilt das neues aller Semester in alle // Fakultäen var semesterToday = SemesterService.GetSemester(DateTime.Today); var mySemester = semesterToday; foreach (var organiserMember in members) { var latestSemester = SemesterService.GetLatestSemester(organiserMember.Organiser); if (latestSemester.StartCourses > semesterToday.StartCourses) { mySemester = latestSemester; } } // gegencheck: wenn ich noch termine im aktuellen Semester habe, dann nimm das if (mySemester != semesterToday) { } currentSemester = mySemester; } else { currentSemester = SemesterService.GetSemester(id); } var TeachingService = new TeachingService(Db); var userService = new UserInfoService(); var model = new TeachingOverviewModel(); model.CurrentSemester = TeachingService.GetActivities(currentSemester, user, members); model.PrevSemester = SemesterService.GetPreviousSemester(currentSemester); model.NextSemester = SemesterService.GetNextSemester(currentSemester); model.Members = members.ToList(); // Abschlussarbeiten model.ActiveTheses = new List <ThesisStateModel>(); var theses = TeachingService.GetActiveTheses(user); foreach (var thesis in theses) { var tm = new ThesisStateModel { Thesis = thesis, Student = thesis.Student, User = userService.GetUser(thesis.Student.UserId) }; model.ActiveTheses.Add(tm); } return(View(model)); }