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 } }); }
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); }