public ActionResult Dictionary(Guid semId, Guid currId) { var semester = SemesterService.GetSemester(semId); var curr = Db.Curricula.SingleOrDefault(x => x.Id == currId); var courses = SemesterService.GetCourses(semester, curr); var model = new SemesterScheduleViewModel { Semester = semester, Curriculum = curr }; foreach (var course in courses.OrderBy(x => x.Name)) { var lectures = Db.Members.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Id)).ToList(); var cModel = new CourseSummaryModel { Course = course, Lecturers = lectures }; model.Courses.Add(cModel); } return(View(model)); }
/// <summary> /// /// </summary> /// <param name="course"></param> /// <returns></returns> public CourseSummaryModel GetCourseSummary(Course course) { var summary = new CourseSummaryModel { Course = course }; var days = (from occ in course.Dates select new { Day = occ.Begin.DayOfWeek, Begin = occ.Begin.TimeOfDay, End = occ.End.TimeOfDay, }).Distinct(); foreach (var day in days) { var defaultDay = course.Dates.FirstOrDefault(d => d.Begin.DayOfWeek == day.Day); var courseDate = new CourseDateModel { DayOfWeek = day.Day, StartTime = day.Begin, EndTime = day.End, DefaultDate = defaultDay.Begin }; summary.Dates.Add(courseDate); } var lectures = Db.Members.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Id)).ToList(); summary.Lecturers.AddRange(lectures); var rooms = Db.Rooms.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Id)).ToList(); summary.Rooms.AddRange(rooms); var vRooms = Db.VirtualRooms.Where(l => l.Accesses.Any(a => a.Date.Activity.Id == course.Id)).ToList(); summary.VirtualRooms.AddRange(vRooms); summary.Lottery = Db.Lotteries.FirstOrDefault(x => x.Occurrences.Any(y => y.Id == course.Occurrence.Id)); foreach (var semesterGroup in course.SemesterGroups) { if (!summary.Curricula.Contains(semesterGroup.CapacityGroup.CurriculumGroup.Curriculum)) { summary.Curricula.Add(semesterGroup.CapacityGroup.CurriculumGroup.Curriculum); } } return(summary); }
public async Task<CourseSummaryModel> GetCourse(int id) { var course = await _context.Courses.SingleOrDefaultAsync(c => c.Id == id); if (course == null) { return null; } var modelToReturn = new CourseSummaryModel() { Id = course.Id, Title = course.Title, Description = course.Description, NumberOfDays = course.NumberOfDays }; return modelToReturn; }