コード例 #1
0
        public void TestDaoStudentsCRUD()
        {
            DaoStudents daoStudents = new DaoStudents(connectionString);

            var allStudents = daoStudents.GetAllRecords();
            int count       = allStudents.Count;

            Student student1 = new Student("Sinatra", "Frank", "Petrovich", 2, "male", new DateTime(1915, 4, 17));

            daoStudents.Create(student1);

            allStudents = daoStudents.GetAllRecords();
            Assert.AreEqual(count + 1, allStudents.Count);

            student1.ID = allStudents.Last().ID;

            student1.LastName   = "Eliseev";
            student1.FirstName  = "Igor";
            student1.MiddleName = "Andreevich";
            student1.BirthDate  = new DateTime(1998, 3, 5);

            daoStudents.Update(student1);

            Student updStudent = daoStudents.GetById(student1.ID);

            Assert.AreEqual(student1, updStudent);

            daoStudents.Delete(student1);
            Assert.AreEqual(count, daoStudents.GetAllRecords().Count);
        }
コード例 #2
0
        /// <summary>
        /// Get student session results
        /// </summary>
        /// <param name="sessionNumber"> Session number</param>
        /// <param name="groupName"> Group name</param>
        /// <returns></returns>
        public List <ReportSessionStudent> GetStudentsResults(int sessionNumber, string groupName)
        {
            var students = daoStudent.GetAllRecords();
            var subjects = daoSubject.GetAllRecords();
            var groups   = daoGroup.GetAllRecords();
            var exams    = daoExams.GetAllRecords();
            var results  = daoResults.GetAllRecords();

            int id = groups.Where(x => x.Name == groupName).Select(x => x.ID).First();

            List <ReportSessionStudent> studs = new List <ReportSessionStudent>();

            var allResults = from result in results
                             join exam in exams on result.ExamID equals exam.ID
                             join sbj in subjects on exam.SubjectID equals sbj.ID
                             join grp in groups on exam.GroupID equals grp.ID
                             join student in students on result.StudentID equals student.ID
                             where exam.SessionNumber == sessionNumber & exam.GroupID == id
                             select new
            {
                LastName    = student.LastName,
                FirstName   = student.FirstName,
                MiddleName  = student.MiddleName,
                GroupName   = grp.Name,
                SubjectName = sbj.Name,
                ExamType    = exam.Type,
                Grade       = result.Grade
            };

            foreach (var st in allResults.OrderBy(s => s.Grade).ThenBy(s => s.LastName))
            {
                studs.Add(new ReportSessionStudent()
                {
                    LastName    = st.LastName,
                    FirstName   = st.FirstName,
                    MiddleName  = st.MiddleName,
                    GroupName   = st.GroupName,
                    SubjectName = st.SubjectName,
                    ExamType    = st.ExamType,
                    Grade       = st.Grade
                });
            }

            return(studs);
        }