Example #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);
        }
 public async Task Put(long classId, long termId, [FromBody] EditClassScheduleRequest input)
 {
     await new TermCourseTimetableAuditService(termId).ModifyClassAsync(classId, input, base.CurrentUser.UserName);
 }