コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: HtmlHelper.cs プロジェクト: sbrinkhorst/NINE
        /// <summary>
        ///
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="dates"></param>
        /// <returns></returns>
        public static MvcHtmlString Date(this HtmlHelper htmlHelper, CourseDateModel date)
        {
            var sb = new StringBuilder();


            sb.AppendFormat("{0} [{1:hh\\:mm} - {2:hh\\:mm}]",
                            date.DefaultDate.ToString("dddd", new CultureInfo("de-DE")), date.StartTime, date.EndTime);


            return(new MvcHtmlString(sb.ToString()));
        }