Esempio n. 1
0
        public string StudentInformation(string studentName)
        {
            var classSubjectsService = ManagementFactory.ClassSubjectDetailsService();
            var gradesManagement     = ManagementFactory.GradesManagement();

            List <int> ClassSubjectIdList = new List <int>();
            string     studentInfo        = "";

            if (DataFactory.GetStudent().RetrieveObjects().Exists(x => x.Name == studentName))
            {
                int studentId      = ManagementFactory.StudentDetailsService().GetStudentId(studentName);
                var studentRecords = DataFactory.GetGrades().RetrieveObjects().Where(x => x.StudentId == studentId);

                studentInfo += "\n" + studentName + " is attending the following classes: \n";

                foreach (var gradeId in studentRecords)
                {
                    ClassSubjectIdList.Add(gradeId.ClassId);
                }

                foreach (var classSubjectId in ClassSubjectIdList.Distinct().ToList())
                {
                    studentInfo += classSubjectsService.GetClassSubjectName(classSubjectId)
                                   + " with " + gradesManagement.PersonalToClassGradeComparer(classSubjectId, studentId, Enums.GradeType.Highest)
                                   + " and " + gradesManagement.PersonalToClassGradeComparer(classSubjectId, studentId, Enums.GradeType.Average)
                                   + "\n";
                }
            }
            else
            {
                studentInfo = "Enter valid student name, please.";
            }
            return(studentInfo);
        }