コード例 #1
0
        private TagTd GetRow(Dictionary <DateTime, List <LmsLecture> > dateLectures,
                             Dictionary <decimal, string> groups, DateTime day)
        {
            var lecture = dateLectures.GetValueOrDefault(day);

//			if (!IsCurrentMonth(day)) {
//				return td.Class("other-month");
//			}
            if (lecture == null)
            {
                return(td.Class(GetColorClass(day)));
            }
            var lectureDivs = new List <TagA>();

            foreach (var part in lecture)
            {
                var hours = EntityUtils.GetLectureHours(part.LectureDateBeg,
                                                        part.LectureDateEnd, part.Breaks);
                var calc     = Model.Groups[part.Group_ID];
                var lecColor = groups.GetValueOrDefault(part.Group_ID) ?? "000000";
                var lines    = _.List(
                    part.Course_TC,
                    Model.GroupDates[part.Group_ID],
                    part.ClassRoom_TC + " {0:0.##}{1}".FormatWith(hours, ak)
                    );
                if (part.Breaks > 0)
                {
                    lines.Add("Перерыв " + part.Breaks);
                }
                var topHeight = GetTopAndHeight(part);
                var linkText  = HtmlUtils.ReplaceSpaceWithNbsp(lines.JoinWith("<br/>"));
                lines.Insert(0, part.LectureDateBeg.ToShortTimeString() + " - "
                             + part.LectureDateEnd.ToShortTimeString());
                var titleText = lines.AddFluent("Очные: {0}\nВебинар: {1}"
                                                .FormatWith(calc.NumOfStudents, calc.NumOfWebinarists)).JoinWith("\n");
                var content = Url.Lms().Lecture(part.Lecture_ID, linkText).Class("lecture")
                              .Title(titleText)
                              .Data("toggle", "tooltip")
                              .Style("border-color: #{0};top: {1}px;height: {2}px"
                                     .FormatWith(lecColor, topHeight.Item1, topHeight.Item2));
                lectureDivs.Add(content);
            }

            return(td[Div("lecture-wrapper")[lectureDivs]].Class(GetColorClass(day)));
        }
コード例 #2
0
        HoursVM GetHours(List <LmsLecture> lectures)
        {
            var model = new HoursVM();

            lectures.Where(x => IsCurrentMonth(x.LectureDateBeg)).ForEach((l, i) => {
                var hours = EntityUtils.GetLectureHours(l.LectureDateBeg, l.LectureDateEnd, l.Breaks);
                model.Courses[l.Course_TC] = model.Courses.GetValueOrDefault(l.Course_TC) + hours;
                if (l.LectureType_TC == LectureTypes.Individual)
                {
                    model.Ind += hours;
                }
                if (l.Complex == Cities.Complexes.NoMoscow)
                {
                    model.NoMoscow += hours;
                }
                else if (l.LectureType_TC == LectureTypes.Special)
                {
                    model.Spec += hours;
                }
            });
            return(model);
        }