Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }