CourseTypeRequirementDAL.cs 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using EMIS.ViewModel.GraduationManage.GraduationRequirement;
  6. using System.Linq.Expressions;
  7. using EMIS.Entities;
  8. using EMIS.DataLogic.Repositories;
  9. namespace EMIS.DataLogic.GraduationManage.GraduationRequirement
  10. {
  11. public class CourseTypeRequirementDAL
  12. {
  13. public GraduationCourseTypeRequirementRepository GraduationCourseTypeRequirementRepository { get; set; }
  14. public GrademajorRepository GrademajorRepository { get; set; }
  15. public FacultymajorRepository FacultymajorRepository { get; set; }
  16. public CollegeRepository CollegeRepository { get; set; }
  17. public SchoolyearRepository SchoolyearRepository { get; set; }
  18. /// <summary>
  19. /// 查询对应的毕业课程类型学分信息View
  20. /// </summary>
  21. /// <param name="exp"></param>
  22. /// <returns></returns>
  23. public IQueryable<CourseTypeRequirementView> GetGradCourseTypeRequirementQueryable(Expression<Func<ER_GraduationCourseTypeRequirement, bool>> exp)
  24. {
  25. var query = from gct in GraduationCourseTypeRequirementRepository.GetList(exp)
  26. join gr in GrademajorRepository.Entities
  27. on gct.GrademajorID equals gr.GrademajorID
  28. join fa in FacultymajorRepository.Entities
  29. on gr.FacultymajorID equals fa.FacultymajorID
  30. join col in CollegeRepository.Entities
  31. on fa.CollegeID equals col.CollegeID
  32. join sye in SchoolyearRepository.Entities
  33. on
  34. new { SchoolyearID = gr.GradeID.Value, SchoolcodeID = gr.SemesterID.Value }
  35. equals
  36. new { SchoolyearID = sye.Years, SchoolcodeID = sye.SchoolcodeID }
  37. into tempsyenter
  38. from syenter in tempsyenter.DefaultIfEmpty()
  39. select new CourseTypeRequirementView
  40. {
  41. GraduationCourseTypeRequirementID = gct.GraduationCourseTypeRequirementID,
  42. GrademajorID = gct.GrademajorID,
  43. GrademajorCode = gr.Code,
  44. GrademajorName = gr.Name,
  45. FacultymajorID = gr.FacultymajorID,
  46. FacultymajorNo = fa.Code,
  47. FacultymajorName = fa.Name,
  48. CollegeID = fa.CollegeID,
  49. CollegeNo = col.No,
  50. CollegeName = col.Name,
  51. SchoolyearID = gr.GradeID,
  52. SchoolcodeID = gr.SemesterID,
  53. EnteringSchoolYearID = syenter.SchoolyearID,
  54. EnteringSchoolYearCode = syenter.Code,
  55. GraduatingSemesterID = gr.CF_Schoolyear.SchoolyearID,
  56. GraduatingSemesterCode = gr.CF_Schoolyear.Code,
  57. StandardID = fa.StandardID,
  58. EducationID = fa.EducationID,
  59. LearningformID = fa.LearningformID,
  60. LearnSystem = fa.LearnSystem,
  61. CourseTypeID = gct.CourseTypeID,
  62. TotalCredit = gct.TotalCredit,
  63. RecordStatus = gct.RecordStatus,
  64. CreateUserID = gct.CreateUserID,
  65. CreateTime = gct.CreateTime,
  66. ModifyUserID = gct.ModifyUserID,
  67. ModifyTime = gct.ModifyTime
  68. };
  69. return query;
  70. }
  71. }
  72. }