/// <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); }
public void ObserveActivity(NotifyActivity observer) { activityObservers.Add(observer); }