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); }
/// <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)); }