public void BasicAdminAddTransitionWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); const string targetName = "修改后的名称"; IWfActivity fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); IWfTransitionDescriptor targetDesp = fromActivity.Descriptor.ToTransitions.AddBackwardTransition(process.Descriptor.InitialActivity); targetDesp.Properties.SetValue("Name", targetName); WfAdminAddTransitionExecutor executor = new WfAdminAddTransitionExecutor(process.CurrentActivity, process, targetDesp, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); targetDesp = fromActivity.Descriptor.ToTransitions.GetTransitionByToActivity(process.Descriptor.InitialActivity); Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); IWfActivityDescriptor msFromActDesp = process.MainStream.Activities["NormalActivity"]; IWfActivityDescriptor msToActDesp = process.MainStream.InitialActivity; targetDesp = msFromActDesp.ToTransitions.GetTransitionByToActivity(msToActDesp); Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); }
private void descriptorEditor_SaveButtonClicked(object sender, EventArgs e) { if (this.descriptorEditor.CurrentProcess != null) { IWfActivityDescriptor toActivity = this.descriptorEditor.CurrentProcessDescriptor.Activities[this.Request.Form["ToActivityKey"]]; IWfTransitionDescriptor transition = this.FromActivity.ToTransitions.AddForwardTransition(toActivity); transition.Properties.ReplaceExistedPropertyValues(this.propertyGrid.Properties); WfAdminAddTransitionExecutor executor = new WfAdminAddTransitionExecutor( this.descriptorEditor.CurrentProcess.CurrentActivity, this.descriptorEditor.CurrentProcess, transition, this.syncMSObj.Checked); executor.Execute(); } }