/// <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);
        }