/// <summary> /// 描述:全校上课日期调整信息保存 /// <para>作者:瞿琦</para> /// <para>创建时间:2019-3-8</para> /// </summary> /// <param name="iRequest">要保存的课程调整信息</param> /// <exception cref="AMS.Core.BussinessException"> /// 异常Id:61,异常描述:调整日期不能小于当前日期 /// </exception> public override void Adjust(IAdjustLessonRequest iRequest) { AdjustSchoolClassTimeRequest request = iRequest as AdjustSchoolClassTimeRequest; if (request.AdjustDate <= DateTime.Now) //如果调整时间小于当前时间,则抛出异常 { throw new BussinessException(ModelType.Timetable, 61); } using (var unitOfWork = new UnitOfWork()) { try { unitOfWork.BeginTransaction(); var lessonRepository = unitOfWork.GetCustomRepository <TblTimLessonRepository, TblTimLesson>(); LessonService lessonService = new LessonService(unitOfWork); //1.要更换全校上课日期的课次 var changeLessonList = lessonRepository.GetTimLessonByClassIdList(request.LessonInfoList.Select(x => x.ClassId), request.LessonInfoList.Select(x => x.ClassDate), LessonUltimateStatus.Normal); //2.向调整课次业务表添加数据 var adjustLessonList = AddAdjustLessonInfo(request.AdjustDate, changeLessonList, unitOfWork); //3.提供要销毁的课次对象 var schoolClassTimeFinisher = new AdjustLessonSchoolClassTimeFinisher(adjustLessonList, changeLessonList); lessonService.Finish(schoolClassTimeFinisher); //4.提供要更新的课次 var schoolClassTimeCreator = new AdjustLessonSchoolClassTimeCreator(request.AdjustDate, adjustLessonList, changeLessonList); if (schoolClassTimeCreator.IsLessonData) { lessonService.Create(schoolClassTimeCreator); //正常课次 } var replenishLessonService = new ReplenishLessonService(unitOfWork); if (schoolClassTimeCreator.IsReplenishLessonData) { replenishLessonService.Create(schoolClassTimeCreator); //补课调课 } unitOfWork.CommitTransaction(); } catch (Exception ex) { unitOfWork.RollbackTransaction(); throw ex; } } }
public void AdjustSchoolClassTime([FromBody] AdjustSchoolClassTimeRequest request) { var service = new AdjustLessonSchoolClassTimeService(base.SchoolId); service.Adjust(request); }