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