using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.ViewModel.GraduationManage.GraduationRequirement; using System.Linq.Expressions; using EMIS.Entities; using EMIS.DataLogic.Repositories; namespace EMIS.DataLogic.GraduationManage.GraduationRequirement { public class CourseTypeRequirementDAL { public GraduationCourseTypeRequirementRepository GraduationCourseTypeRequirementRepository { get; set; } public GrademajorRepository GrademajorRepository { get; set; } public FacultymajorRepository FacultymajorRepository { get; set; } public CollegeRepository CollegeRepository { get; set; } public SchoolyearRepository SchoolyearRepository { get; set; } /// /// 查询对应的毕业课程类型学分信息View /// /// /// public IQueryable GetGradCourseTypeRequirementQueryable(Expression> exp) { var query = from gct in GraduationCourseTypeRequirementRepository.GetList(exp) join gr in GrademajorRepository.Entities on gct.GrademajorID equals gr.GrademajorID join fa in FacultymajorRepository.Entities on gr.FacultymajorID equals fa.FacultymajorID join col in CollegeRepository.Entities on fa.CollegeID equals col.CollegeID join sye in SchoolyearRepository.Entities on new { SchoolyearID = gr.GradeID.Value, SchoolcodeID = gr.SemesterID.Value } equals new { SchoolyearID = sye.Years, SchoolcodeID = sye.SchoolcodeID } into tempsyenter from syenter in tempsyenter.DefaultIfEmpty() select new CourseTypeRequirementView { GraduationCourseTypeRequirementID = gct.GraduationCourseTypeRequirementID, GrademajorID = gct.GrademajorID, GrademajorCode = gr.Code, GrademajorName = gr.Name, FacultymajorID = gr.FacultymajorID, FacultymajorNo = fa.Code, FacultymajorName = fa.Name, CollegeID = fa.CollegeID, CollegeNo = col.No, CollegeName = col.Name, SchoolyearID = gr.GradeID, SchoolcodeID = gr.SemesterID, EnteringSchoolYearID = syenter.SchoolyearID, EnteringSchoolYearCode = syenter.Code, GraduatingSemesterID = gr.CF_Schoolyear.SchoolyearID, GraduatingSemesterCode = gr.CF_Schoolyear.Code, StandardID = fa.StandardID, EducationID = fa.EducationID, LearningformID = fa.LearningformID, LearnSystem = fa.LearnSystem, CourseTypeID = gct.CourseTypeID, TotalCredit = gct.TotalCredit, RecordStatus = gct.RecordStatus, CreateUserID = gct.CreateUserID, CreateTime = gct.CreateTime, ModifyUserID = gct.ModifyUserID, ModifyTime = gct.ModifyTime }; return query; } } }