Пример #1
0
        public static StudentHoverBoxViewData <TotalAbsencesPerClassViewData> Create(DailyAbsenceSummaryInfo dailyAbsenceSummary
                                                                                     , IList <ShortStudentClassAttendanceSummary> attendances, IList <ClassDetails> classDetailses)
        {
            var res = new StudentHoverBoxViewData <TotalAbsencesPerClassViewData>
            {
                Hover = TotalAbsencesPerClassViewData.Create(attendances, classDetailses),
            };
            decimal totalAbsencesCount = 0;

            if (dailyAbsenceSummary != null && dailyAbsenceSummary.Absences.HasValue)
            {
                totalAbsencesCount += dailyAbsenceSummary.Absences.Value; // Excluded tardies because of Jonathan Whitehurst's comment on CHLK-3184
            }
            //totalAbsencesCount += res.Hover.Sum(x => x.Absences);
            res.Title = totalAbsencesCount.ToString(CultureInfo.InvariantCulture);
            return(res);
        }
Пример #2
0
        public static StudentSummaryInfo Create(Student student, NowDashboard nowDashboard
                                                , IList <Data.School.Model.Infraction> infractions, IList <AnnouncementComplex> anns, IMapper <StudentAnnouncement, Score> mapper)
        {
            var res = new StudentSummaryInfo
            {
                StudentInfo = student,
                ClassRank   = nowDashboard.ClassRank != null?ClassRankInfo.Create(nowDashboard.ClassRank) : null,
                                  CurrentSectionId           = nowDashboard.CurrentSectionId,
                                  TotalDisciplineOccurrences = nowDashboard.Infractions.Any() ? nowDashboard.Infractions.Sum(x => x.Occurrences) : 0,
                                  InfractionSummaries        = InfractionSummaryInfo.Create(nowDashboard.Infractions.ToList(), infractions),
                                  StudentAnnouncements       = new List <StudentAnnouncement>(),
                                  Attendances            = ShortStudentClassAttendanceSummary.Create(nowDashboard.SectionAttendance.ToList()),
                                  CurrentAttendanceLevel = nowDashboard.CurrentAttendanceStatus
            };

            if (nowDashboard.DailyAttendance == null)
            {
                nowDashboard.DailyAttendance = new StudentDailyAbsenceSummary {
                    Absences = 0, Tardies = 0, Presents = 0
                }
            }
            ;
            res.DailyAttendance = DailyAbsenceSummaryInfo.Create(nowDashboard.DailyAttendance);

            var scores = nowDashboard.Scores.Where(x => !string.IsNullOrEmpty(x.ScoreValue)).ToList();

            foreach (var score in scores)
            {
                var ann = anns.FirstOrDefault(x => x.ClassAnnouncementData.SisActivityId == score.ActivityId);
                if (ann == null)
                {
                    continue;
                }
                var studentAnn = new StudentAnnouncement {
                    AnnouncementId = ann.Id
                };
                mapper.Map(studentAnn, score);
                res.StudentAnnouncements.Add(studentAnn);
            }
            return(res);
        }
    }