Beispiel #1
0
        public static Workflow AddUpdateExpressionToArgument(this Workflow wf, WfActivity activity, ActivityArgument arg, string expressionString, bool isTemplate)
        {
            if (isTemplate)
            {
                expressionString = ConvertTemplateToExpressionString(expressionString);
            }

            if (expressionString == null)
            {
                throw new ArgumentNullException("expressionString");
            }

            var exp = activity.ExpressionMap.FirstOrDefault(x => x.ArgumentToPopulate?.Id == arg.Id);

            if (exp == null)
            {
                var newExp = new WfExpression()
                {
                    ExpressionString     = expressionString,
                    ArgumentToPopulate   = arg,
                    ExpressionInActivity = activity,
                    IsTemplateString     = false
                };

                activity.ExpressionMap.Add(newExp.As <WfExpression>());
            }
            else
            {
                var wrExp = exp.AsWritable <WfExpression>();
                wrExp.ExpressionString = expressionString;
                wrExp.Save();
            }

            return(wf);
        }
Beispiel #2
0
        public static Workflow AddExpressionToArgument(this Workflow wf, WfActivity activity, ActivityArgument destination, string expressionString, bool isTemplate)
        {
            if (isTemplate)
            {
                expressionString = ExpressionHelper.ConvertTemplateToExpressionString(expressionString);
            }

            if (expressionString == null)
            {
                throw new ArgumentNullException("expressionString");
            }

            var exp = new WfExpression()
            {
                ExpressionString     = expressionString,
                ArgumentToPopulate   = destination,
                ExpressionInActivity = activity,
                IsTemplateString     = false
            };

            activity.ExpressionMap.Add(exp.As <WfExpression>());
            return(wf);
        }