Esempio n. 1
0
        public IndividualRatingDTO GetIndividualRating(int studentId, int disciplineId)
        {
            IndividualRatingDTO rating = new IndividualRatingDTO();

            rating.UserProfile = Database.UserRepository.Get(studentId);
            rating.Discipline  = Database.DisciplineRepository.Get(disciplineId);

            //Classwork rating
            try
            {
                rating.AverageClassRating = Database.RatingRepository.Average(r => r.StudentId == studentId &&
                                                                              r.DisciplineId == disciplineId &&
                                                                              r.RatingDivision.Id == 1,
                                                                              r => r.Points);
            }
            catch
            {
                rating.AverageClassRating = 0;
            }
            try
            {
                rating.TotalClassRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                        r.DisciplineId == disciplineId &&
                                                                        r.RatingDivision.Id == 1,
                                                                        r => r.Points);
            }
            catch
            {
                rating.TotalClassRating = 0;
            }
            rating.ClassRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                 r.DisciplineId == disciplineId &&
                                                                 r.RatingDivision.Id == 1).ToList();
            //Total olympiads rating
            try
            {
                rating.TotalOlympiadsRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                            r.DisciplineId == disciplineId &&
                                                                            r.RatingDivision.Id == 2,
                                                                            r => r.Points);
            }
            catch
            {
                rating.TotalOlympiadsRating = 0;
            }
            rating.OlympiadsRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                     r.DisciplineId == disciplineId &&
                                                                     r.RatingDivision.Id == 2).ToList();
            //skipping rating
            try
            {
                rating.TotalScippingClassRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                                r.DisciplineId == disciplineId &&
                                                                                r.RatingDivision.Id == 3,
                                                                                r => r.Points);
            }
            catch
            {
                rating.TotalScippingClassRating = 0;
            }
            rating.ScippingClassRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                         r.DisciplineId == disciplineId &&
                                                                         r.RatingDivision.Id == 3).ToList();

            return(rating);
        }
Esempio n. 2
0
        public IndividualRatingDTO GetIndividualRating(int studentId, int disciplineId, string academicYear)
        {
            IndividualRatingDTO rating = new IndividualRatingDTO();

            string[] years = academicYear.Split(new [] { '/' });
            int      year1 = int.Parse(years[0]);
            int      year2 = int.Parse(years[1]);

            rating.UserProfile = Database.UserRepository.Get(studentId);
            rating.Discipline  = Database.DisciplineRepository.Get(disciplineId);

            //Classwork rating
            try
            {
                rating.AverageClassRating = Database.RatingRepository.Average(r => r.StudentId == studentId &&
                                                                              r.DisciplineId == disciplineId &&
                                                                              r.RatingDivision.Id == 1 &&
                                                                              (r.Date.Year == year1 || r.Date.Year == year2),
                                                                              r => r.Points);
            }
            catch
            {
                rating.AverageClassRating = 0;
            }
            try
            {
                rating.TotalClassRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                        r.DisciplineId == disciplineId &&
                                                                        r.RatingDivision.Id == 1 &&
                                                                        (r.Date.Year == year1 || r.Date.Year == year2),
                                                                        r => r.Points);
            }
            catch
            {
                rating.TotalClassRating = 0;
            }
            rating.ClassRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                 r.DisciplineId == disciplineId &&
                                                                 r.RatingDivision.Id == 1 &&
                                                                 (r.Date.Year == year1 || r.Date.Year == year2)).ToList();
            //Total olympiads rating
            try
            {
                rating.TotalOlympiadsRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                            r.DisciplineId == disciplineId &&
                                                                            r.RatingDivision.Id == 2 &&
                                                                            (r.Date.Year == year1 || r.Date.Year == year2),
                                                                            r => r.Points);
            }
            catch
            {
                rating.TotalOlympiadsRating = 0;
            }
            rating.OlympiadsRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                     r.DisciplineId == disciplineId &&
                                                                     r.RatingDivision.Id == 2 &&
                                                                     (r.Date.Year == year1 || r.Date.Year == year2)).ToList();
            //skipping rating
            try
            {
                rating.TotalScippingClassRating = Database.RatingRepository.Sum(r => r.StudentId == studentId &&
                                                                                r.DisciplineId == disciplineId &&
                                                                                r.RatingDivision.Id == 3 &&
                                                                                (r.Date.Year == year1 || r.Date.Year == year2),
                                                                                r => r.Points);
            }
            catch
            {
                rating.TotalScippingClassRating = 0;
            }
            rating.ScippingClassRatings = Database.RatingRepository.Find(r => r.StudentId == studentId &&
                                                                         r.DisciplineId == disciplineId &&
                                                                         r.RatingDivision.Id == 3 &&
                                                                         (r.Date.Year == year1 || r.Date.Year == year2)).ToList();

            return(rating);
        }