Ejemplo n.º 1
0
        public void TestExcelExporting(string path, string groupName, int mark, string subject, string studentFullName)
        {
            ExamResults examResults = new ExamResults()
            {
                ExamDate         = DateTime.Now,
                GroupName        = groupName,
                Mark             = mark,
                SubjectName      = subject,
                SessionStartDate = DateTime.Now,
                SessionEndDate   = DateTime.Now,
                StudentFullName  = studentFullName
            };

            var examContext = _context.GetExamResultsDataLayer();

            _context.SetFilePath(path);

            examContext.CreateSheet();

            examContext.Insert(examResults);

            Assert.IsTrue(File.Exists(path));

            File.Delete(path);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Forms the session exams report.
        /// </summary>
        /// <param name="comparer">The comparer.</param>
        /// <param name="path">The path.</param>
        public void FormSessionExamsReport(IComparer <ExamResults> comparer, string path)
        {
            var excelContext = _excelContext.GetExamResultsDataLayer();

            var groupContext   = _dbConxtext.GetGroupDataLayer();
            var studentContext = _dbConxtext.GetStudentDataLayer();
            var subjectContext = _dbConxtext.GetSubjectDataLayer();
            var examContext    = _dbConxtext.GetExamDataLayer();
            var sessionContext = _dbConxtext.GetSessionDataLayer();

            List <Group>   groups   = groupContext.GetAll();
            List <Student> students = studentContext.GetAll();
            List <Subject> subjects = subjectContext.GetAll();
            List <Exam>    exams    = examContext.GetAll();
            List <Session> sessions = sessionContext.GetAll();

            var groupsSessionResultsQuery = from groupItem in groups
                                            join student in students on groupItem.Id equals student.GroupId
                                            join session in sessions on groupItem.Id equals session.GroupId
                                            join exam in exams on student.Id equals exam.StudentId
                                            join subject in subjects on exam.SubjectId equals subject.Id
                                            select new ExamResults()
            {
                ExamDate         = subject.Date,
                GroupName        = groupItem.Name,
                Mark             = exam.Mark,
                SessionEndDate   = session.EndDate,
                SessionStartDate = session.StartDate,
                StudentFullName  = student.FullName,
                SubjectName      = subject.Name
            };

            PrepareFile(path);

            excelContext.CreateSheet();

            groupsSessionResultsQuery.OrderBy(item => item, comparer).ToList().ForEach(item => excelContext.Insert(item));
        }