/// <summary> /// 修改班级课表 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2018-09-25</para> /// </summary> /// <param name="classId">班级Id</param> /// <param name="request">学期班级排课课表修改</param> /// <param name="createUserName">创建人用户名称</param> /// <returns></returns> public async Task ModifyClassAsync(long classId, EditClassScheduleRequest request, string createUserName) { //1.校验并获取审核Id long auditId = VerifyGetAuditId(base.TblAutAudit.SchoolId); //2.获取待修改的班级 var waitEditClass = await _tblAutClassRepository.Value.GetAsync(auditId, classId); if (waitEditClass == null) { throw new BussinessException(ModelType.Default, 1); } //3.判断老师是否修改,有则校验老师上课时间段是否冲突 if (waitEditClass.TeacherId != request.TeacherId) { var classTime = _tblAutClassTimeRepository.Value.GetByClassId(auditId, classId).Result.Select(x => x.SchoolTimeId); TblDatSchoolTime schoolTime = SchoolTimeService.GetBySchoolTimeId(classTime.FirstOrDefault()); //校验老师是否重复 VerifyTeacherOccupy(classTime, request.TeacherId, schoolTime.TermId); } //4.准备数据 waitEditClass.CourseId = request.CourseId; waitEditClass.CourseLeveId = request.CourseLevelId; waitEditClass.ClassNo = request.ClassNo; waitEditClass.TeacherId = request.TeacherId; waitEditClass.CourseNum = request.CourseNum; waitEditClass.StudentsNum = request.StudentsNum; //5.写入更新的班级数据 await _tblAutClassRepository.Value.UpdateTask(waitEditClass); }
/// <summary> /// 待添加到审核中班级 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2019-02-19</para> /// </summary> /// <param name="input">待添加的班级信息</param> /// <param name="classRoomId">教室Id</param> /// <param name="schoolTimeId">上课时间段Id</param> /// <param name="createUserName">创建人</param> /// <returns>审核中的班级课表信息</returns> private static TblAutClass GetTblAutClass(ClassScheduleRequest input, long classRoomId, long schoolTimeId, string createUserName) { //教室信息 var classRoom = new ClassRoomService(classRoomId).ClassRoomInfo; ValidateObject(classRoom); //上课时间信息 var schoolTime = SchoolTimeService.GetBySchoolTimeId(schoolTimeId); ValidateObject(schoolTime); //根据学期编号获取学期信息 TblDatTerm term = TermService.GetTermByTermId(schoolTime.TermId); ValidateObject(term); //获取课程 TblDatRoomCourse roomCourse = new ClassRoomService(classRoomId).GetByCourseId(input.CourseId).Result; ValidateObject(roomCourse); //复制课表到审核中得到审核主表id long auditId = new TermCourseTimetableAuditService(schoolTime.TermId).VerifyGetAuditId(classRoom.SchoolId); TblAutClass autClass = new TblAutClass { AutClassId = IdGenerator.NextId(), SchoolId = classRoom.SchoolId, ClassId = IdGenerator.NextId(), AuditId = auditId, ClassNo = input.ClassNo, TermId = term.TermId, RoomCourseId = roomCourse.RoomCourseId, ClassRoomId = classRoomId, CourseId = roomCourse.CourseId, CourseLeveId = input.CourseLevelId, TeacherId = input.TeacherId, CourseNum = input.CourseNum, StudentsNum = input.StudentsNum, CreateTime = DateTime.Now, UpdateTime = DateTime.Now, DataStatus = 0 }; return(autClass); }