protected void changeAssignees_ExecuteStep(object data) { ChangeAssigneesParam cap = JSONSerializerExecute.Deserialize <ChangeAssigneesParam>(data); IWfProcess process = WfRuntime.GetProcessByProcessID(cap.ProcessID); CheckPermission(process); WfReplaceAssigneesExecutor executor = new WfReplaceAssigneesExecutor(null, process.CurrentActivity, null, cap.Users); executor.Execute(); }
protected void changeCandidates_ExecuteStep(object data) { ChangeAssigneesParam cap = JSONSerializerExecute.Deserialize <ChangeAssigneesParam>(data); IWfProcess process = WfRuntime.GetProcessByProcessID(cap.ProcessID); CheckPermission(process); foreach (IWfActivity activity in process.Activities) { if (activity.Status != WfActivityStatus.Completed && activity.Status != WfActivityStatus.Aborted) { if (activity.Candidates.Contains(cap.OriginalUser.ID)) { WfReplaceAssigneesExecutor executor = new WfReplaceAssigneesExecutor(null, activity, cap.OriginalUser, cap.Users); executor.ExecuteNotPersist(); } } } WfRuntime.PersistWorkflows(); }