Esempio n. 1
0
        public static List <ClassWithSuccessCountDTO> SuccessReport(IEnumerable <ClassWithGradeDTO> classesWithGrades)
        {
            List <ClassWithSuccessCountDTO> coursesWithSuccessCount = new List <ClassWithSuccessCountDTO>();

            foreach (var course in classesWithGrades)
            {
                ClassWithSuccessCountDTO successCount = null;

                if (coursesWithSuccessCount.Any(x => x.CRN == course.CRN))
                {
                    successCount = coursesWithSuccessCount.Where(x => x.CRN == course.CRN).First();
                }
                if (successCount != null)
                {
                    DetermineSuccess(course.FinalGrade, successCount);
                }
                else
                {
                    var successCourse = new ClassWithSuccessCountDTO()
                    {
                        ClassName      = course.CourseName,
                        CRN            = course.CRN,
                        DepartmentName = course.DepartmentName
                    };

                    DetermineSuccess(course.FinalGrade, successCourse);
                    coursesWithSuccessCount.Add(successCourse);
                }
            }

            return(coursesWithSuccessCount);
        }
Esempio n. 2
0
        private static void DetermineSuccess(Grade grade, ClassWithSuccessCountDTO vm)
        {
            if (grade <= Grade.I)
            {
                vm.PassedSuccessfullyCount++;
                vm.CompletedCourseCount++;
            }
            else if (grade <= Grade.F)
            {
                vm.CompletedCourseCount++;
            }
            else
            {
                vm.DroppedStudentCount++;
            }

            vm.UniqueStudentCount++;
        }