private ChalkableGradeBook BuildGradeBook(Gradebook stiGradeBook, GradingPeriod gradingPeriod, IList <AnnouncementComplex> anns, IList <Student> students) { var gradeBook = new ChalkableGradeBook { GradingPeriod = gradingPeriod, Options = ChalkableClassOptions.Create(stiGradeBook.Options), Averages = stiGradeBook.StudentAverages.Select(ChalkableStudentAverage.Create).ToList(), Students = students, Announcements = PrepareAnnouncementDetailsForGradeBook(stiGradeBook, gradingPeriod, anns, students) }; if (!stiGradeBook.Options.IncludeWithdrawnStudents) { gradeBook.Students = new List <Student>(); foreach (var student in students) { var score = stiGradeBook.Scores.FirstOrDefault(x => x.StudentId == student.Id); if (score != null && !score.Withdrawn) { gradeBook.Students.Add(student); } } } return(gradeBook); }
public static GradingGridsViewData Create(ChalkableGradeBook grid, IList <GradingPeriod> gradingPeriods , IList <Standard> standards, IList <ClassAnnouncementType> classAnnouncementTypes, IList <ClaimInfo> claims) { return(new GradingGridsViewData { CurrentGradingGrid = grid != null?GradingGridViewData.Create(grid, claims) : null, GradingPeriods = gradingPeriods.Select(GradingPeriodViewData.Create).ToList(), Standards = StandardViewData.Create(standards), ClassAnnouncementTypes = ClassAnnouncementTypeViewData.Create(classAnnouncementTypes) }); }
public static GradingGridViewData Create(ChalkableGradeBook gradeBook, IList <ClaimInfo> claims) { var res = new GradingGridViewData(gradeBook) { Students = new List <GradeStudentViewData>() }; if (gradeBook.Options != null) { res.DisplayAlphaGrades = gradeBook.Options.DisplayAlphaGrades; res.DisplayStudentAverage = gradeBook.Options.DisplayStudentAverage; res.DisplayTotalPoints = gradeBook.Options.DisplayTotalPoints; res.IncludeWithdrawnStudents = gradeBook.Options.IncludeWithdrawnStudents; res.RoundDisplayedAverages = gradeBook.Options.RoundDisplayedAverages; } foreach (var student in gradeBook.Students) { res.Students.Add(GradeStudentViewData.Create(student, student.IsWithdrawn)); } var stIds = res.Students.Select(x => x.StudentInfo.Id).ToList(); res.TotalAverages = StudentTotalAveragesViewData.Create(gradeBook.Averages, stIds); var gpAvg = res.TotalAverages.FirstOrDefault(x => x.IsGradingPeriodAverage); if (gpAvg != null) { res.Avg = gpAvg.TotalAverage; } if (res.DisplayTotalPoints || res.DisplayAlphaGrades) { BuildTotalPoints(res, stIds, gradeBook.StudentTotalPoints); } res.GradingItems = gradeBook.Announcements .OrderByDescending(x => x.ClassAnnouncementData.Expires) .Select(x => ShortAnnouncementGradeViewData.Create(x.ClassAnnouncementData, x.StudentAnnouncements, stIds, claims)) .ToList(); return(res); }
private ChalkableGradeBook BuildGradeBook(Gradebook stiGradeBook, GradingPeriod gradingPeriod, IList <AnnouncementComplex> anns, IList <Student> students) { var gradeBook = new ChalkableGradeBook { GradingPeriod = gradingPeriod, Averages = stiGradeBook.StudentAverages.Select(ChalkableStudentAverage.Create).ToList(), Students = students, Options = stiGradeBook.Options != null?ChalkableClassOptions.Create(stiGradeBook.Options) : null }; var includeWithdrawnStudents = gradeBook.Options != null && gradeBook.Options.IncludeWithdrawnStudents; //Preapred List Of Announcement Info Trace.WriteLine("PrepareAnnounceemntDetailsForGradeBook " + DateTime.Now.Ticks * 1.0 / TimeSpan.TicksPerSecond); gradeBook.Announcements = PrepareAnnounceemntDetailsForGradeBook(stiGradeBook, gradingPeriod, anns, students, includeWithdrawnStudents); //prepare students score var stiScores = stiGradeBook.Scores; if (!includeWithdrawnStudents) { stiScores = stiScores.Where(x => !x.Withdrawn).ToList(); } if (stiScores.Any()) { gradeBook.Students = gradeBook.Students.Where(s => stiScores.Any(score => score.StudentId == s.Id)).ToList(); } gradeBook.Students = gradeBook.Students .OrderBy(x => x.LastName, StringComparer.OrdinalIgnoreCase) .ThenBy(x => x.FirstName, StringComparer.OrdinalIgnoreCase).ToList(); if (stiGradeBook.StudentTotalPoints != null) { var totalPoints = stiGradeBook.StudentTotalPoints.Where(x => x.GradingPeriodId == gradingPeriod.Id).ToList(); gradeBook.StudentTotalPoints = StudentTotalPoint.Create(totalPoints); } return(gradeBook); }
private AverageDashboard GetAveragesDashboard(ChalkableGradeBook chlkGradeBook, int classId) { var startDate = new DateTime(DateTime.Today.Year, 1, 1); var endDate = DateTime.Today; var attendance = ((DemoAttendanceService)ServiceLocator.AttendanceService).GetSectionAttendanceSummary( new List <int> { classId }, startDate, endDate).First(); var attendances = chlkGradeBook.Students.Select(x => new StudentTotalSectionAttendance() { Absences = attendance.Students.Where(y => y.StudentId == x.Id).Select(y => y.Absences ?? 0).FirstOrDefault(), Tardies = attendance.Students.Where(y => y.StudentId == x.Id).Select(y => y.Tardies ?? 0).FirstOrDefault(), StudentId = x.Id, SectionId = classId, DaysPresent = attendance.Students.Count(y => y.StudentId == x.Id && y.Absences == 0) }).ToList(); return(new AverageDashboard { AttendanceSummary = attendances, DisciplineSummary = GetStudentDisciplineSummaries(chlkGradeBook.Students, classId, startDate, endDate) }); }
protected GradingGridViewData(ChalkableGradeBook gradeBook) : base(gradeBook.GradingPeriod, null) { }