public IWfProcessDescriptor GetBranchProcessDescriptor() { IWfProcessDescriptor result = this.PredefinedProcessDescriptor; if (result == null) { if (this.BranchProcessKey.IsNotEmpty()) { result = WfProcessDescriptorManager.GetDescriptor(this.BranchProcessKey); } else { this.Key.CheckStringIsNullOrEmpty <WfRuntimeException>("加载分支子流程时,Template的BranchProcessKey不能和Key不能为空"); result = WfProcessDescriptorManager.GetDescriptor(this.Key); } if (this.ExecuteSequence == WfBranchProcessExecuteSequence.SerialInSameProcess) { //Activity Matrix WfProcessBuilderInfo builderInfo = WfProcessDescriptorManager.GetBuilderInfo(this.BranchProcessKey); PropertyDefineCollection definedProperties = null; if (builderInfo == null) { definedProperties = new PropertyDefineCollection(); } else { definedProperties = builderInfo.Builder.GetDefinedProperties(); } //生成活动 result.CreateActivities(this.Resources.ToCreateActivityParams(definedProperties), true); } AutoAdjustAgreeTransitions(result); //todo:ydz 2012-07-21 this.SetBranchProcessActivityEditMode(result); //todo:ydz 2012-07-21 this.CancelSubProcessNotifier.ForEach(wfr => { result.CancelEventReceivers.Add(wfr); }); } return(result); }
public WfProcessStartupParams(WfServiceStartupProcessParams serviceOP_Paramas, string ProcessDespKey) { this.ProcessDescriptor = WfProcessDescriptorManager.GetDescriptor(ProcessDespKey); this.ProcessDescriptor.Url = serviceOP_Paramas.DefaultURL; this.Assignees.Add(serviceOP_Paramas.Assignees); this.AutoStartInitialActivity = serviceOP_Paramas.AutoStartInitialActivity; this.Creator = serviceOP_Paramas.Creator; this.DefaultTaskTitle = serviceOP_Paramas.DefaultTaskTitle; this.Department = serviceOP_Paramas.Department; this.ResourceID = serviceOP_Paramas.ResourceID; this.RelativeID = serviceOP_Paramas.RelativeID; this.RelativeURL = serviceOP_Paramas.RelativeURL; this.OwnerActivityID = serviceOP_Paramas.OwnerActivityID; this.OwnerTemplateKey = serviceOP_Paramas.OwnerTemplateKey; this.CheckStartProcessUserPermission = false; this.RuntimeProcessName = serviceOP_Paramas.RuntimeProcessName; this.AutoCommit = serviceOP_Paramas.AutoCommit; this.DefaultUrl = serviceOP_Paramas.DefaultUrl; }
/// <summary> /// 启动流程仿真 /// </summary> /// <param name="processDescKey"></param> /// <param name="simulationContext"></param> public static WfSimulationResult StartSimulation(string processDescKey, WfSimulationParameters simulationParameters) { return(StartSimulation(WfProcessDescriptorManager.GetDescriptor(processDescKey), simulationParameters)); }