using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.ViewModel.EducationSchedule; using EMIS.ViewModel.UniversityManage.ClassroomManage; using EMIS.ViewModel.CalendarManage; using EMIS.ViewModel.EducationManage; using Bowin.Common.Linq.Entity; using EMIS.ViewModel; using EMIS.ViewModel.EducationManagement; namespace EMIS.CommonLogic.EducationSchedule { public interface IScheduleServices { void GenerateSchedule(); void GenerateSchedule(IList educationMissionClassIDList); void ClearClassmajorSchedule(Guid schoolYearID, Guid classmajorID); List GetClassmajorSchedule(Guid schoolYearID, Guid classmajorID); List GetDepartmentSchedule(Guid schoolYearID, Guid departmentID, IList handleModeList); List GetAvailableClassroomList(Guid collegeID, Guid schoolYearID, IList schedulingWeekList, int weekday, Guid courseTimeID, int? studentNum, int? classroomTypeID = null); void CheckClassroomIsAvailable(Guid collegeID, Guid schoolYearID, IList schedulingWeekList, int weekday, Guid courseTimeID, Guid classroomID); void CheckClassroomIsAvailable(Guid schoolYearID, IList schedulingWeekList, int weekday, Guid courseTimeID, Guid classroomID); void CheckEducationSchedulingClassCanAddManualSchedule(Guid educationScheduleClassID, IList schedulingWeekList, Guid schoolYearID, int weekday, Guid courseTimeID); void CheckCourseIsOnWork(Guid coursematerialID, int weekday, Guid courseTimeID); void CheckTeacherIsOnWork(Guid educationScheduleClassID, IList weekTeacherList, int weekday, Guid courseTimeID); List GetTeacherContinuousWorkTime(Guid educationScheduleClassID, IList schedulingWeekList, Guid schoolYearID, int weekday); void AddScheduling(EducationSchedulingView educationSchedulingView, IList schedulingWeekList, IList teacherList); void DelScheduling(Guid educationSchedulingID); void DelWeeks(Guid educationSchedulingID, IList weekList); void Submit(Guid collegeID); List GetTeacherScheduleAdjustmentViewList(Guid schoolyearID, Guid userID, Guid? coursematerialID, Guid? educationMissionClassID, int? weekNum, int? weekday, Guid? courseTimesID, Guid? classroomID); List GetTeacherScheduleStopViewList(Guid schoolyearID, Guid userID, Guid? coursematerialID, Guid? educationMissionClassID, int? weekNum, int? weekday, Guid? courseTimesID, Guid? classroomID); ScheduleAdjustmentEditView GetScheduleAdjustmentView(Guid educationSchedulingWeekNumID); EducationSchedulingStopView GetEducationSchedulingStopView(Guid educationSchedulingID); List GetNotUseCoursesTimeViewList(Guid schoolyearID, int weekday, int toWeekday, Guid courseTimeID, int? weekNum, int? toWeekNum, Guid? fromTeacherID, Guid? replaceTeacherID, Guid educationMissionClassID); IGridResultSet GetNotUseClassroomViewList(ConfiguretView configuretView, Guid schoolyearID, int weekday, int toWeekday, Guid coursesTimeID, Guid toCoursesTimeID, IList weekNumList, IList toWeekNumList, int classroomTypeID, Guid educationMissionClassID, int? pageIndex = null, int? pageSize = null); List GetClassroomScheduleViewList(Guid schoolyearID, Guid classroomID); void ChangeClassroom(Guid educationSchedulingID, Guid classroomID); List GetEducationSchedulingTeacherViewList(Guid educationSchedulingID); void ChangeTeacher(Guid educationSchedulingID, IList teacherList); void ClearAutoSchedule(Guid schoolYearID, Guid? collegeID, int? standardID, int? year, Guid? classmajorID); List GetMobileStudentSchedule(Guid userID, DateTime date); EducationMissionClassView GetEducationMissionClassViewBySchedule(Guid? schoolyearID, DateTime date, Guid coursesTimeID, Guid teacherUserID); List GetEducationSchedulingWeekNumViewByDateTimeList(Guid schoolyearID, IList dateTimeList); List GetEducationSchedulingWeekNumViewForExaminationTeacher(Guid schoolyearID, IList dateTimeList); List GetNotUseCoursesTimeViewListForBatchAdjustment(Guid? schoolyearID, int? toWeekday, int? toWeekNum, Guid? teacherID, List educationSchedulingWeekNumIDList); } }