Disco.Services.UserFlagExtensions.EvaluateOnAssignmentExpression C# (CSharp) Method

EvaluateOnAssignmentExpression() public static method

public static EvaluateOnAssignmentExpression ( this ufa, DiscoDataContext Database, User AddingUser, System.DateTime TimeStamp ) : string
ufa this
Database Disco.Data.Repository.DiscoDataContext
AddingUser Disco.Models.Repository.User
TimeStamp System.DateTime
return string
        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;
        }