コード例 #1
0
        /// <summary>
        /// Add a notify activity
        /// </summary>
        public static Workflow AddNotify(
            this Workflow wf,
            string name,
            string peopleExpression,
            string messageExpression,
            bool waitForReplies,
            Dictionary <string, Workflow> replyMap = null,
            string linkToRecordExpression          = null,
            string fromNamed = null, string fromExit = null)
        {
            var act = new NotifyActivity()
            {
                Name = name
            };
            var actAs = act.As <WfActivity>();

            if (peopleExpression != null)
            {
                AddExpressionToActivityArgument(wf, actAs, "People", peopleExpression);
            }

            if (messageExpression != null)
            {
                AddExpressionToActivityArgument(wf, actAs, "Message", messageExpression);
            }

            if (linkToRecordExpression != null)
            {
                AddExpressionToActivityArgument(wf, actAs, "Link to record", linkToRecordExpression);
            }

            AddExpressionToActivityArgument(wf, actAs, "Wait for replies", waitForReplies ? "true" : "false");
            AddExpressionToActivityArgument(wf, actAs, "Wait for", "1");

            if (replyMap != null)
            {
                foreach (var entry in replyMap)
                {
                    act.NReplyMap.Add(new ReplyMapEntry {
                        Name = entry.Key, RmeWorkflow = entry.Value
                    });
                }
            }

            wf.AddActivity(actAs, fromNamed, fromExit);
            AddMissingExpressionParametersToWorkflow(wf);

            return(wf);
        }
コード例 #2
0
 public void ObserveActivity(NotifyActivity observer)
 {
     activityObservers.Add(observer);
 }