123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using EMIS.DataLogic.Repositories;
- using EMIS.ViewModel.SchedulingManage.SchedulingSettings;
- using EMIS.Entities;
- using System.Linq.Expressions;
- using EMIS.ViewModel.CalendarManage;
- using EMIS.ViewModel;
- namespace EMIS.DataLogic.SchedulingManage.SchedulingSettings
- {
- public class ClassmajorScheduleSettingDAL
- {
- public ClassmajorScheduleSettingRepository classmajorScheduleSettingRepository { get; set; }
- public DictionaryItemRepository dictionaryItemRepository { get; set; }
- public CoursesTimeRepository coursesTimeRepository { get; set; }
- public ClassmajorRepository classmajorRepository { get; set; }
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- public IQueryable<ClassmajorScheduleSettingView> GetClassmajorScheduleSettingViewQueryable(Expression<Func<CF_Classmajor, bool>> exp)
- {
- var query = from a in classmajorRepository.GetList(exp)
- join b in dictionaryItemRepository.GetList(x => x.DictionaryCode == typeof(EMIS.ViewModel.CF_Education).Name)
- on a.CF_Grademajor.CF_Facultymajor.EducationID equals b.Value
- into ge
- from gEducation in ge.DefaultIfEmpty()
- join c in dictionaryItemRepository.GetList(x => x.DictionaryCode == typeof(EMIS.ViewModel.CF_Learningform).Name)
- on a.CF_Grademajor.CF_Facultymajor.LearningformID equals c.Value
- into glf
- from gLearningform in glf.DefaultIfEmpty()
- select new ClassmajorScheduleSettingView
- {
- ClassmajorID = a.ClassmajorID,
- ClassmajorNo = a.No,
- ClassmajorName = a.Name,
- yearsID = a.CF_Grademajor.GradeID,
- GrademajorName = a.CF_Grademajor.Name,
- EducationName = gEducation.Name,
- LearningformName = gLearningform.Name,
- LearnSystem = a.CF_Grademajor.CF_Facultymajor.LearnSystem,
- CollegeName = a.CF_Grademajor.CF_Facultymajor.CF_College.Name,
- CreateUserID = a.CreateUserID,
- CreateTime = a.CreateTime,
- };
- return query;
- }
- /// <summary>
- /// 教室可排时间设置
- /// </summary>
- /// <param name="classroomID">教室ID</param>
- /// <returns></returns>
- public IQueryable<ArrangementView> GetArrangementViewQueryable(Guid? classmajorID)
- {
- var query = from a in coursesTimeRepository.GetList(x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE)
- join b in
- classmajorScheduleSettingRepository.GetList(x => x.ClassmajorID == classmajorID)
- on a.CoursesTimeID equals b.CoursesTimeID
- group a by new
- {
- CoursesTimeID = a.CoursesTimeID,
- StartTimes = a.StartTimes,
- EndTimes = a.EndTimes,
- TimesSegment = a.TimesSegment,
- StartHour = a.StartHour,
- StartMinutes = a.StartMinutes,
- EndHour = a.EndHour,
- EndMinutes = a.EndMinutes,
- CreateTime = a.CreateTime,
- CreateUserID = a.CreateUserID,
- MondayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Monday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- TuesdayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Tuesday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- WednesdayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Wednesday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- ThursdayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Thursday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- FridayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Friday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- SaturdayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Saturday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork,
- SundayIsOnWork = a.ES_ClassmajorScheduleSetting.Where(x => x.Weekday == (int)DayOfWeek.Sunday && x.ClassmajorID == b.ClassmajorID).FirstOrDefault().IsOnWork
- } into g
- select new ArrangementView
- {
- CoursesTimeID = g.Key.CoursesTimeID,
- StartTimes = g.Key.StartTimes,
- EndTimes = g.Key.EndTimes,
- TimesSegment = g.Key.TimesSegment,
- StartHour = g.Key.StartHour,
- StartMinutes = g.Key.StartMinutes,
- EndHour = g.Key.EndHour,
- EndMinutes = g.Key.EndMinutes,
- CreateTime = g.Key.CreateTime,
- CreateUserID = g.Key.CreateUserID,
- MondayIsOnWork = g.Key.MondayIsOnWork,
- TuesdayIsOnWork = g.Key.TuesdayIsOnWork,
- WednesdayIsOnWork = g.Key.WednesdayIsOnWork,
- ThursdayIsOnWork = g.Key.ThursdayIsOnWork,
- FridayIsOnWork = g.Key.FridayIsOnWork,
- SaturdayIsOnWork = g.Key.SaturdayIsOnWork,
- SundayIsOnWork = g.Key.SundayIsOnWork,
- };
- return query;
- }
- }
- }
|