/// <summary> /// 补课调整 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2019-03-14</para> /// </summary> /// <param name="iRequest">补课调整参数</param> public override void Adjust(IAdjustLessonRequest iRequest) { //1、涉及到学生课次开启线程锁 //2、构建需要补课的课次信息 //3、调用课次调整服务进行学生补课 AdjustReplenishRequest request = iRequest as AdjustReplenishRequest; lock (LocalThreadLock.GetLockKeyName(LockKeyNames.LOCK_AMSSCHOOLSTUDENT, _schoolId, request.StudentId.ToString())) { using (UnitOfWork unitOfWork = new UnitOfWork()) { try { unitOfWork.BeginTransaction(); //构建需要补课的课次信息 AdjustLessonReplenishCreator adjustLessonReplenishCreator = new AdjustLessonReplenishCreator(_schoolId, request, unitOfWork); //调用课次调整服务进行学生补课 ReplenishLessonService service = new ReplenishLessonService(unitOfWork); service.Create(adjustLessonReplenishCreator); unitOfWork.CommitTransaction(); } catch (Exception e) { unitOfWork.RollbackTransaction(); throw e; } } } }
/// <summary> /// 创建补课需要的数据源服务 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2019-03-15</para> /// </summary> /// <param name="schoolId">校区Id</param> /// <param name="request">补课,对缺勤或请假的进行补课入参</param> /// <param name="unitOfWork">事物工作单元</param> public AdjustLessonReplenishCreator(string schoolId, AdjustReplenishRequest request, UnitOfWork unitOfWork) { this._batchNo = IdGenerator.NextId(); this._schoolId = schoolId; this._request = request; _lessonRepository = unitOfWork.GetCustomRepository <TblTimLessonRepository, TblTimLesson>(); _viewCompleteStudentAttendanceRepository = unitOfWork.GetCustomRepository <ViewCompleteStudentAttendanceRepository, ViewCompleteStudentAttendance>(); _tblTimAdjustLessonRepository = unitOfWork.GetCustomRepository <TblTimAdjustLessonRepository, TblTimAdjustLesson>(); }
public void ReplenishLesson(AdjustReplenishRequest request) { var service = new StudentTimetableService(base.SchoolId, request.StudentId); service.ReplenishLesson(request); }