Esempio n. 1
0
        private GroupResult GetGlobalResults(List <Student> allStudents)
        {
            GroupResult result = new GroupResult();

            result.Name = "Global";

            SubjectResult Math = new SubjectResult();

            Math.ExamType = "Math";
            Math.Average  = allStudents.Sum(x => x.MathRating) / allStudents.Count;
            Math.Median   = GetMedian(allStudents, "Math");
            Math.Modus    = GetModus(allStudents, "Math");

            SubjectResult Physics = new SubjectResult();

            Physics.ExamType = "Physics";
            Physics.Average  = allStudents.Sum(x => x.PhysicsRating) / allStudents.Count;
            Physics.Median   = GetMedian(allStudents, "Physics");
            Physics.Modus    = GetModus(allStudents, "Physics");

            SubjectResult English = new SubjectResult();

            English.ExamType = "English";
            English.Average  = allStudents.Sum(x => x.EnglishRating) / allStudents.Count;
            English.Median   = GetMedian(allStudents, "English");
            English.Modus    = GetModus(allStudents, "English");

            return(new GroupResult()
            {
                Name = "Global", SubjectResults = new List <SubjectResult>()
                {
                    Math, Physics, English
                }
            });
        }
Esempio n. 2
0
        private List <GroupResult> GetGroupResults(List <Student> allStudents)
        {
            List <string>      GroupNames = allStudents.Select(x => x.GroupName).Distinct().ToList();
            List <GroupResult> result     = new List <GroupResult>();

            foreach (string groupName in GroupNames)
            {
                List <Student> groupStudents = allStudents.Where(x => x.GroupName == groupName).ToList();

                SubjectResult Math = new SubjectResult();
                Math.ExamType = "Math";
                Math.Average  = groupStudents.Sum(x => x.MathRating) / groupStudents.Count;
                Math.Median   = GetMedian(groupStudents, "Math");
                Math.Modus    = GetModus(groupStudents, "Math");

                SubjectResult Physics = new SubjectResult();
                Physics.ExamType = "Physics";
                Physics.Average  = groupStudents.Sum(x => x.PhysicsRating) / groupStudents.Count;
                Physics.Median   = GetMedian(groupStudents, "Physics");
                Physics.Modus    = GetModus(groupStudents, "Physics");

                SubjectResult English = new SubjectResult();
                English.ExamType = "English";
                English.Average  = groupStudents.Sum(x => x.EnglishRating) / groupStudents.Count;
                English.Median   = GetMedian(groupStudents, "English");
                English.Modus    = GetModus(groupStudents, "English");

                result.Add(new GroupResult()
                {
                    Name           = groupName,
                    SubjectResults = new List <SubjectResult>()
                    {
                        Math,
                        Physics,
                        English
                    }
                });
            }

            return(result);
        }