/// <summary> /// /// </summary> protected override void ExcuteSelf() { try { DiyStep currentStep = _PositionApplication.DiyProcess.FindCancelStep(); DiyStep nextStep = _PositionApplication.DiyProcess.FindCancelNextStep(); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _PositionApplicationDal.UpdatePositionApplicationStatusByPositionApplicationID(_PositionApplicationID, _RequestStatus, nextStep.DiyStepID); PositionApplicationFlow flow = new PositionApplicationFlow(0, _PositionApplicationID, new Account(_OperatorID, "", ""), DateTime.Now, _RequestStatus, _Reason, _PositionApplication); _PositionApplicationDal.InsertPositionApplicationFlow(flow); ts.Complete(); } List <string> accounts = new GetDiyProcess(_DalEmployeeDiyProcess).GetAccountMailListByDiyProcessIDAccountID( currentStep, _PositionApplication.Account.Id); new PositionApplicationMailAndPhoneDelegate().CancelMail(_PositionApplication.PKID, accounts, nextStep); } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }
public PositionApplicationViewModel(PositionApplicationFlow positionApplicationFlow) { _PositionApplicationFlow = positionApplicationFlow; _PositionApplication = _PositionApplicationFlow.Detail ?? new PositionApplication(); _Position = _PositionApplication.Position ?? new Position(); _PKID = _PositionApplicationFlow.PKID.ToString(); }
public PositionApplicationViewModel(PositionApplication positionApplication) { _PositionApplicationFlow = new PositionApplicationFlow(0, 0, new Account(-9, "", ""), DateTime.Now, RequestStatus.Approving, "", null); _PositionApplication = positionApplication; _PKID = positionApplication.PKID.ToString(); _Position = _PositionApplication.Position ?? new Position(); }
private void AutoCancelPositionApplication() { _PositionApplication.Status = RequestStatus.ApproveCancelPass; PositionApplicationFlow flow = new PositionApplicationFlow(0, _PositionApplication.PKID, new Account(-9, "", ""), DateTime.Now, RequestStatus.ApproveCancelPass, _PositionApplication.Account.Name + "已经重新编辑职位申请" + _OldPositionApplication.PKID + ",系统自动批准取消。", _PositionApplication); _PositionApplicationDal.InsertPositionApplicationFlow(flow); }
/// <summary> /// /// </summary> private void ConfirmItem(out DiyStep cstep, out DiyStep nstep) { Validation(); cstep = null; nstep = null; try { DiyStep currentStep = _PositionApplication.DiyProcess.FindStep(_PositionApplication.CurrentStep.DiyStepID); DiyStep nextStep = _PositionApplication.DiyProcess.FindNextStep(_PositionApplication.CurrentStep.DiyStepID); if (nextStep == null) { nextStep = new DiyStep(0, "结束", OperatorType.Others, 0); } ChangeRequestStatus(nextStep); if (_RequestStatus.Id == RequestStatus.ApproveFail.Id || _RequestStatus.Id == RequestStatus.ApproveCancelFail.Id) { nextStep = new DiyStep(0, "结束", OperatorType.Others, 0); } _PositionApplication.Status = _RequestStatus; using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _PositionApplicationDal.UpdatePositionApplication(_PositionApplication); _PositionApplicationDal.UpdatePositionApplicationStatusByPositionApplicationID(_PositionApplication.PKID, _RequestStatus, nextStep.DiyStepID); PositionApplicationFlow flow = new PositionApplicationFlow(0, _PositionApplication.PKID, new Account(_OperatorID, "", ""), DateTime.Now, _RequestStatus, _Reason, _PositionApplication); _PositionApplicationDal.InsertPositionApplicationFlow(flow); ts.Complete(); } new PositionApplicationMailAndPhoneDelegate().ConfirmOperationMail(_PositionApplication, _OperatorID, currentStep, nextStep); cstep = currentStep; nstep = nextStep; } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }
/// <summary> /// 修改 /// </summary> protected override void ExcuteSelf() { try { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { if (_OldPositionApplication.IfAutoCancel) { AutoCancelPositionApplication(); } if (_IfSubmit) { _PositionApplication.Status = RequestStatus.Submit; DiyStep currentStep = _PositionApplication.DiyProcess.FindFirstStep(); DiyStep nextStep = _PositionApplication.DiyProcess.FindSecondStep(); _PositionApplication.NextStep = nextStep; _PositionApplicationDal.UpdatePositionApplication(_PositionApplication); PositionApplicationFlow flow = new PositionApplicationFlow(0, _PositionApplication.PKID, _PositionApplication.Account, DateTime.Now, RequestStatus.Submit, "", _PositionApplication); _PositionApplicationDal.InsertPositionApplicationFlow(flow); List <string> accounts = new GetDiyProcess(_DalEmployeeDiyProcess).GetAccountMailListByDiyProcessIDAccountID( currentStep, _PositionApplication.Account.Id); new PositionApplicationMailAndPhoneDelegate().SubmitOperation(_PositionApplication.PKID, accounts, nextStep); } else { _PositionApplication.Status = RequestStatus.New; _PositionApplication.NextStep = _PositionApplication.DiyProcess.FindFirstStep(); _PositionApplicationDal.UpdatePositionApplication(_PositionApplication); } ts.Complete(); } } catch { HrmisUtility.ThrowException(HrmisUtility._DbError); } }
public int InsertPositionApplicationFlow(PositionApplicationFlow flow) { int pkid; SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@PositionAppID", flow.PositionApplicationID); cmd.Parameters.AddWithValue("@OperatorID", flow.Account.Id); cmd.Parameters.AddWithValue("@Operation", flow.Status.Id); cmd.Parameters.AddWithValue("@OperationTime", flow.OperationTime); cmd.Parameters.AddWithValue("@Remark", flow.Remark); PositionApplication pa = new PositionApplication(); if (flow.Detail != null && flow.Detail.Position != null) { pa.Position = flow.Detail.Position; } cmd.Parameters.AddWithValue("@Detail", EncryptFlowDetail(pa)); cmd.Parameters.Add("@PKID", SqlDbType.Int).Direction = ParameterDirection.Output; SqlHelper.ExecuteNonQueryReturnPKID("InsertPositionApplicationFlow", cmd, out pkid); return(pkid); }
/// <summary> /// /// </summary> protected override void ExcuteSelf() { try { using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { _PositionApplicationDal.UpdatePositionApplicationStatusByPositionApplicationID(_PositionApplicationID, _RequestStatus, 0); PositionApplicationFlow flow = new PositionApplicationFlow(0, _PositionApplication.PKID, new Account(_OperatorID, "", ""), DateTime.Now, _RequestStatus, _Reason, _PositionApplication); _PositionApplicationDal.InsertPositionApplicationFlow(flow); ts.Complete(); } } catch { BllUtility.ThrowException(BllExceptionConst._DbError); } }