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); }
public static TotalPointViewData Create(StudentTotalPoint studentTotalPoint) { return(new TotalPointViewData { TotalPoint = studentTotalPoint.TotalPointsEarned, MaxTotalPoint = studentTotalPoint.TotalPointsPossible, StudentId = studentTotalPoint.StudentId }); }