public void AssignValue(ParameterManager processParameterManager, ParameterManager actionInParameterManager) { try { switch (ParameterBindType) { case ParameterBindType.ActionProcessBasicParameterBind: /*StepAction.ActionInParameterManager*/ actionInParameterManager.SetBasicParamValue(ActionParameterName, processParameterManager.GetBasicParam(ProcessParameterName).GetValue()); break; case ParameterBindType.ActionConstBasicParameterBind: /*StepAction.ActionInParameterManager*/ actionInParameterManager[ActionParameterName].SetValueInString(ConstValueString); break; case ParameterBindType.ActionProcessListParameterBind: /*StepAction.ActionInParameterManager*/ actionInParameterManager.GetListParam(ActionParameterName) .Replace(processParameterManager.GetListParam(ProcessParameterName)); /*ProcessInstance.ProcessParameterManager*/ break; case ParameterBindType.ActionProcessDictionaryParameterBind: /*StepAction.ActionInParameterManager*/ actionInParameterManager.GetDictionaryParam(ActionParameterName).Replace(processParameterManager.GetDictionaryParam(ProcessParameterName)); break; case ParameterBindType.ActionProcessDictionaryBasicParameterBind: break; case ParameterBindType.ActionProcessBasicDictionaryParameterBind: break; case ParameterBindType.InvalidBind: break; default: throw new ArgumentOutOfRangeException(); } } catch (Exception e) { throw new InvalidOperationException($"InParameterBind数据赋值失败,{e.Message}"); } }
/// <summary> /// 判断下一步骤号 /// Edit by ZSY 2017年6月3日 /// </summary> /// <param name="parameterManager"></param> /// <returns>返回下一步骤号,如果是0为不满足条件</returns> public short GetNextStepId(ParameterManager parameterManager) { short nextStepId = 0; // David 2017年7月19日12:38:22 if (_checkType == StepCheckType.Parameter) { //参数判断 var basicParameter = parameterManager.GetBasicParam(_parameter.Name); if (Tag.ValueEqual(basicParameter.GetValue(), _value)) // maybe wrong { nextStepId = _nextStepId; } } else { //条件判断 Log.Debug("执行条件判断"); if (!_holding) { if (_condition != null) { if (_condition.CheckReady()) { nextStepId = _nextStepId; _holding = true; } } } else { nextStepId = _nextStepId; } } return(nextStepId); }