Exemple #1
0
        private decimal?GetAverageGradeByPeriod(GradePeriod period)
        {
            if (StudentSubjects.Any())
            {
                var studentSubjectWithGradeInTerm = StudentSubjects.Where(s => s.Grades.Any(g => g.Period == period)).ToList();
                if (studentSubjectWithGradeInTerm.Any())
                {
                    return(studentSubjectWithGradeInTerm.Average(s =>
                                                                 s.Grades.Where(g => g.Period == period).Average(g => g.Value)));
                }
            }

            return(null);
        }
Exemple #2
0
        private decimal?GetAverageGradeByPeriod(GradePeriod period)
        {
            if (period == GradePeriod.FirstTerm)
            {
                if (Students.Any(s => s.AverageGradeFirstTerm != null))
                {
                    return(Students.Where(s => s.AverageGradeFirstTerm != null).Average(s => s.AverageGradeFirstTerm));
                }
            }
            else
            {
                if (Students.Any(s => s.AverageGradeSecondTerm != null))
                {
                    return(Students.Where(s => s.AverageGradeSecondTerm != null).Average(s => s.AverageGradeSecondTerm));
                }
            }

            return(null);
        }