public StudentsWithAverageScoresViewModel GetStudentsList() { List <StudentViewModel> list = _studentContext.GetStudentList().Select(st => new StudentViewModel() { Id = st.Id, Name = st.Name, Math = st.Math, MathScore = st.Math * SubjectScore.Math, Physics = st.Physics, PhysicsScore = st.Physics * SubjectScore.Physics, NatLanguage = st.NatLanguage, NatLanguageScore = st.NatLanguage * SubjectScore.NatLanguage, }) .OrderByDescending(st => st.TotalScore) .ThenByDescending(st => st.MathScore) .ThenByDescending(st => st.PhysicsScore) .ThenByDescending(st => st.NatLanguageScore) .ToList(); StudentAveragePercentagesViewModel averages = new StudentAveragePercentagesViewModel() { MathAveragePercentage = Math.Round(list.Sum(st => st.MathScore) / list.Count / SubjectScore.MathMaxScore * 100, 2), PhysicsAveragePercentage = Math.Round(list.Sum(st => st.PhysicsScore) / list.Count / SubjectScore.PhysicsMaxScore * 100, 2), NatLanguageAveragePercentage = Math.Round(list.Sum(st => st.NatLanguageScore) / list.Count / SubjectScore.NatLanguageMaxScore * 100, 2) }; return(new StudentsWithAverageScoresViewModel() { StudentList = list, Averages = averages }); }
static void PrintAverages(StudentAveragePercentagesViewModel averages) { Console.WriteLine(); Console.WriteLine("O`rtacha ko`rsatkichlar:"); Console.WriteLine($"Matematika {averages.MathAveragePercentage,8}%"); Console.WriteLine($"Fizika {averages.PhysicsAveragePercentage,8}%"); Console.WriteLine($"Ona tili {averages.NatLanguageAveragePercentage,8}%"); }