/// <summary> /// 更新流程运行时活动节点的Assignees /// </summary> /// <param name="processCurrentInfo"></param> public void UpdateProcessRelatedUsers(IWfProcess process) { WfProcessCurrentAssigneeCollection pcas = new WfProcessCurrentAssigneeCollection(); foreach (var activity in process.Activities) { foreach (var assignee in activity.Assignees) { if (assignee.User != null) { WfProcessCurrentAssignee pca = new WfProcessCurrentAssignee(assignee); pca.ProcessID = process.ID; pca.ActivityID = activity.ID; pcas.Add(pca); } } foreach (var candidate in activity.Candidates) { if (candidate.User != null && activity.Assignees.Contains(candidate.User.ID) == false) { WfProcessCurrentAssignee pca = new WfProcessCurrentAssignee(candidate); pca.ProcessID = process.ID; pca.ActivityID = activity.ID; pcas.Add(pca); } } } WfProcessCurrentAssigneeAdapter.Instance.Update(process.ID, pcas); }
/// <summary> /// 更新流程运行时活动节点的Assignees /// </summary> /// <param name="processCurrentInfo"></param> public void UpdateProcessRelatedUsers(IWfProcess process) { WfProcessCurrentAssigneeCollection pcas = new WfProcessCurrentAssigneeCollection(); foreach (var activity in process.Activities) { foreach (var assignee in activity.Assignees) { if (assignee.User != null) { WfProcessCurrentAssignee pca = new WfProcessCurrentAssignee(assignee); pca.ProcessID = process.ID; pca.ActivityID = activity.ID; pcas.Add(pca); } } foreach (var candidate in activity.Candidates) { if (candidate.User != null && activity.Assignees.Contains(candidate.User.ID) == false) { WfProcessCurrentAssignee pca = new WfProcessCurrentAssignee(candidate); pca.ProcessID = process.ID; pca.ActivityID = activity.ID; pcas.Add(pca); } } } WfProcessCurrentAssigneeAdapter.Instance.Update(process.ID, pcas); }