public static string EvaluateOnAssignmentExpression(this UserFlagAssignment ufa, DiscoDataContext Database, User AddingUser, DateTime TimeStamp)
{
if (!string.IsNullOrEmpty(ufa.UserFlag.OnAssignmentExpression))
{
Expression compiledExpression = ufa.UserFlag.OnAssignmentExpressionFromCache();
IDictionary evaluatorVariables = Expression.StandardVariables(null, Database, AddingUser, TimeStamp, null);
object result = compiledExpression.EvaluateFirst<object>(ufa, evaluatorVariables);
if (result == null)
return null;
else
return result.ToString();
}
return null;
}