Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
 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}%");
 }