12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using EMIS.ViewModel.ScoreManage;
- using EMIS.ViewModel;
- namespace EMIS.ExtensionLogic.DataLogic.ScoreManage
- {
- public class FinalExaminationDAL : EMIS.DataLogic.ScoreManage.FinalExaminationDAL
- {
- /// <summary>
- /// 补考设定,加上学时
- /// </summary>
- /// <param name="schoolyearID"></param>
- /// <returns></returns>
- public override IQueryable<ResitStudentView> GetNotPassStudent(Guid? schoolyearID)
- {
- List<int?> resitStatus = ExamsStateSettingDAL.Value.GetResitIDList();
- var query = from fs in FinallyScoreRepository.GetList(x => (x.TotalScore == null || x.TotalScore < 60) && x.SchoolyearID == schoolyearID && x.ExamsCategoryID == (int)CF_ExamsCategory.FinalExam && resitStatus.Contains(x.ExamsStateID))
- from s in studentRepository.Entities.Where(x => fs.UserID == x.UserID)
- join iss in InSchoolSettingRepository.GetList(x => x.IsSelected == true)
- on s.InSchoolStatusID equals iss.InSchoolStatusID
- join exam in ExamsStateSettingRepository.Entities
- on fs.ExamsStateID equals exam.ExamsStateID
- from fe in finalExaminationRepository.Entities.Where(x => x.SchoolyearID == schoolyearID && x.CoursematerialID == fs.CoursematerialID
- && x.ExamsCategoryID == fs.ExamsCategoryID)
- from fesr in FinalExaminationStudentRepository.Entities.Where(x => x.FinalExaminationID == fe.FinalExaminationID
- && x.UserID == fs.UserID && x.StarttermID == fs.StarttermID)
- //join final in finalExaminationRepository.GetList(x => x.SchoolyearID == schoolyearID)
- // on fesr.FinalExaminationID equals final.FinalExaminationID
- // into dfianl
- //from final in dfianl.DefaultIfEmpty()
- from erfes in (
- from student in FinalExaminationStudentRepository.Entities
- from final in finalExaminationRepository.Entities.Where(x => x.FinalExaminationID == student.FinalExaminationID)
- where final.CoursematerialID == fs.CoursematerialID && student.UserID == fs.UserID && student.StarttermID == fs.StarttermID
- && final.ExamsCategoryID == exam.ResitCategory && student.CreateTime > fs.CreateTime
- select student
- ).DefaultIfEmpty()
- where erfes.FinalExaminationStudentID == null
- select new ResitStudentView
- {
- UserID = fs.CF_Student.UserID,
- FinalExaminationID = fesr.FinalExaminationID,
- Year = fs.CF_Student.CF_Classmajor.CF_Grademajor.GradeID,
- CourseCollegeID = fs.CF_Department.CollegeID,
- CollegeID = fs.CF_Student.CF_Classmajor.CF_Grademajor.CF_Facultymajor.CollegeID,
- StandardID = fs.CF_Student.CF_Classmajor.CF_Grademajor.CF_Facultymajor.StandardID,
- GrademajorID = fs.CF_Student.CF_Classmajor.GrademajorID,
- GrademajorName = fs.CF_Student.CF_Classmajor.CF_Grademajor.Name,
- CoursematerialID = fs.CoursematerialID,
- DepartmentID = fs.DepartmentID,
- CourseName = fs.EM_Coursematerial.CourseName,
- CourseTypeID = fs.CourseTypeID,
- ExaminationModeID = fs.ExaminationModeID,
- SchoolyearNumID = fs.SchoolyearNumID,
- StartTermID = fs.StarttermID,
- Credit = fs.Credit,
- //加上学时
- TotalHours = fs.TotalHours,
- ResultTypeID = fs.ResultTypeID,
- ClassmajorID = fs.CF_Student.CF_Classmajor.ClassmajorID,
- ExamsCategoryID = exam.ResitCategory,
- CreatorUserID = fs.CreatorUserID,
- };
- return query;
- }
- }
- }
|