protected override void ExcuteSelf() { try { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _Course.Status = TrainStatusEnum.End; _DalTrain.UpdateTrainCourse(_Course); List <Skill> skills = _Course.Skill; List <TrainEmployeeFB> employeeFBs = _Course.TrainFBResult.TrainEmployeeFBs; foreach (TrainEmployeeFB fb in employeeFBs) { if (fb.FBTime != null) { InsertEmployeeSkill(fb.Trainee.Id, skills); } } ts.Complete(); } } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }
/// <summary> /// 调用下层的新增课程的方法 /// </summary> protected override void ExcuteSelf() { try { //把反馈人信息先删除 _Course.TrainFBResult.TrainEmployeeFBs.Remove( _Course.TrainFBResult.TrainEmployeeFBs.Find(FindTrainEmployeeFB)); _Course.TrainFBResult.TrainEmployeeFBs.Add(_TrainEmployeeFb); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _DalTrain.UpdateTrainCourse(_Course); ts.Complete(); } } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }
/// <summary> /// 调用下层的新增课程的方法 /// </summary> protected override void ExcuteSelf() { //如果反馈表更新了,就重新新增一个课程 if (_IsFeedBackPaperUpdate) { new DeleteTrainCourse(_Course.CourseID).Excute(); new AddTrainCourse(_Course, _Skills, _Employees, _LoginUser).Excute(); return; } try { _Course.Skill = new List <Skill>(); foreach (Skill skill in _Skills) { _Course.Skill.Add(skill); } _Course.TrainFBResult = new TrainFBResult(); _Course.TrainFBResult.TrainEmployeeFBs = new List <TrainEmployeeFB>(); TrainEmployeeFB employeeFb; foreach (TrainEmployeeFB fb in GetFbResults()) { foreach (Account employee in _Employees) { if (fb.Trainee.Id.Equals(employee.Id)) { //如果该员工有信息,添加其信息 _Course.TrainFBResult.TrainEmployeeFBs.Add(fb); _Employees.Remove(employee); break; } } } //无信息,未起新建一条数据 if (_Employees.Count != 0) { foreach (Account employee in _Employees) { employeeFb = new TrainEmployeeFB(null, string.Empty); employeeFb.Trainee = employee; _Course.TrainFBResult.TrainEmployeeFBs.Add(employeeFb); } } _Course.Coordinator = _ItsCordinator; using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _DalTrain.UpdateTrainCourse(_Course); ts.Complete(); } if (_Course.Status == TrainStatusEnum.End) { List <Skill> skills = _Course.Skill; List <TrainEmployeeFB> employeeFBs = _Course.TrainFBResult.TrainEmployeeFBs; foreach (TrainEmployeeFB fb in employeeFBs) { if (fb.FBTime != null) { new FinishTrainCourse(_Course.CourseID).InsertEmployeeSkill(fb.Trainee.Id, skills); } } } } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }