コード例 #1
0
        public void TestDelete()
        {
            ResultDao resultDao = factory.GetResultDao();
            var       results   = resultDao.ReadAll();
            int       exCount   = results.Count();

            resultDao.DeleteById(3);
            int count = resultDao.ReadAll().Count();

            Assert.AreEqual(exCount - 1, count);
        }
コード例 #2
0
        /// <summary>
        /// Method for obtaining the necessary data.
        /// </summary>
        /// <param name="numberOfSession"></param>
        /// <returns></returns>
        public IEnumerable <SessionResultRow> GetResult(int numberOfSession)
        {
            var groups   = groupDao.ReadAll();
            var subjects = subjectDao.ReadAll();
            var students = studentDao.ReadAll();
            var exams    = examDao.ReadAll();
            var results  = resultDao.ReadAll();

            List <SessionResultRow> sessionResults = new List <SessionResultRow>();

            foreach (Group cgroup in groups)
            {
                var summaryResults = from result in results
                                     join exam in exams on result.IdExam equals exam.Id
                                     where exam.NumberOfSession == numberOfSession & exam.IdGroup == cgroup.Id
                                     select result;
                var averageMark = summaryResults.Average(r => r.Mark);
                var minMark     = summaryResults.Min(r => r.Mark);
                var maxMark     = summaryResults.Max(r => r.Mark);
                sessionResults.Add(new SessionResultRow
                {
                    GroupName   = cgroup.Name,
                    AverageMark = averageMark,
                    MinMark     = minMark,
                    MaxMark     = maxMark
                });
            }

            return(sessionResults);
        }
コード例 #3
0
        /// <summary>
        /// Gets data.
        /// </summary>
        /// <param name="numberOfSession"></param>
        /// <returns></returns>
        public List <AverageExaminator> GetData(int numberOfSession)
        {
            var exams       = examDao.ReadAll();
            var results     = resultDao.ReadAll();
            var examinators = examinatorDao.ReadAll();

            List <AverageExaminator> averageExaminatorList = new List <AverageExaminator>();

            foreach (var val in examinators)
            {
                var marks = from result in results
                            join exam in exams on result.IdExam equals exam.Id
                            join examinator in examinators on exam.IdExaminator equals examinator.Id
                            where exam.NumberOfSession == numberOfSession
                            where examinator.Id == val.Id
                            select result;

                var averageResult = marks.Count() != 0 ? marks.Average(x => x.Mark) : 0;
                averageExaminatorList.Add(new AverageExaminator
                {
                    ExaminatorName = val.Name,
                    AverageMark    = averageResult
                });
            }

            return(averageExaminatorList);
        }
コード例 #4
0
        /// <summary>
        /// Gets data.
        /// </summary>
        /// <param name="numberOfSession"></param>
        /// <returns></returns>
        public List <AverageSpecialty> GetData(int numberOfSession)
        {
            var exams      = examDao.ReadAll();
            var results    = resultDao.ReadAll();
            var groups     = groupDao.ReadAll();
            var specialtyL = specialtyDao.ReadAll();

            List <AverageSpecialty> averageSpecialtyList = new List <AverageSpecialty>();

            foreach (var val in specialtyL)
            {
                var marks = from specialty in specialtyL
                            join grp in groups on specialty.Id equals grp.IdSpecialty
                            join exam in exams on grp.Id equals exam.IdGroup
                            join result in results on exam.Id equals result.IdExam
                            where val.Id == specialty.Id
                            where exam.NumberOfSession == numberOfSession
                            select result;
                var averageResult = marks.Average(x => x.Mark);
                averageSpecialtyList.Add(new AverageSpecialty
                {
                    SpecialtyName = val.Name,
                    AverageMark   = averageResult
                });
            }

            return(averageSpecialtyList);
        }
コード例 #5
0
        /// <summary>
        /// Method for obtaining the necessary data.
        /// </summary>
        /// <param name="groupName"></param>
        /// <param name="numberOfSession"></param>
        /// <returns></returns>
        public IEnumerable <StudentResult> GetResult(string groupName, int numberOfSession)
        {
            var groups   = groupDao.ReadAll();
            var subjects = subjectDao.ReadAll();
            var students = studentDao.ReadAll();
            var exams    = examDao.ReadAll();
            var results  = resultDao.ReadAll();

            var groupWithId = groups.FirstOrDefault(x => x.Name == groupName);

            var sessionResults = from student in students
                                 join result in results on student.Id equals result.IdStudent
                                 join exam in exams on result.IdExam equals exam.Id
                                 join subject in subjects on exam.IdSubject equals subject.Id
                                 where student.IdGroup == groupWithId.Id & exam.NumberOfSession == numberOfSession
                                 select new StudentResult
            {
                FirstName   = student.FirstName,
                MiddleName  = student.MiddleName,
                LastName    = student.LastName,
                DateOfBirth = student.DateOfBirth,
                Gender      = student.Gender,
                Date        = exam.Date,
                SubjectName = subject.Name,
                ExamType    = exam.Type,
                Mark        = result.Mark
            };

            return(sessionResults);
        }
コード例 #6
0
        /// <summary>
        /// Gets data.
        /// </summary>
        /// <returns></returns>
        public List <AverageSubject> GetData()
        {
            var exams    = examDao.ReadAll();
            var results  = resultDao.ReadAll();
            var subjects = subjectDao.ReadAll();

            List <AverageSubject> averageSubjectList = new List <AverageSubject>();

            foreach (var val in subjects)
            {
                averageSubjectList.Add(new AverageSubject
                {
                    SubjectName  = val.Name,
                    AverageMarks = new List <double>()
                });
                for (int session = 1; session <= sessionsCount; session++)
                {
                    var marks = from result in results
                                join exam in exams on result.IdExam equals exam.Id
                                where exam.IdSubject == val.Id
                                where exam.NumberOfSession == session
                                select result;

                    var averageResult = marks.Count() != 0 ? marks.Average(x => x.Mark) : 0;
                    averageSubjectList[averageSubjectList.Count() - 1].AverageMarks.Add(averageResult);
                }
            }

            return(averageSubjectList);
        }