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