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

EvaluateOnUnassignmentExpression() public static method

public static EvaluateOnUnassignmentExpression ( this ufa, DiscoDataContext Database, User RemovingUser, System.DateTime TimeStamp ) : string
ufa this
Database Disco.Data.Repository.DiscoDataContext
RemovingUser Disco.Models.Repository.User
TimeStamp System.DateTime
return string
        public static string EvaluateOnUnassignmentExpression(this UserFlagAssignment ufa, DiscoDataContext Database, User RemovingUser, DateTime TimeStamp)
        {
            if (!string.IsNullOrEmpty(ufa.UserFlag.OnUnassignmentExpression))
            {
                Expression compiledExpression = ufa.UserFlag.OnUnassignmentExpressionFromCache();
                IDictionary evaluatorVariables = Expression.StandardVariables(null, Database, RemovingUser, TimeStamp, null);
                object result = compiledExpression.EvaluateFirst<object>(ufa, evaluatorVariables);
                if (result == null)
                    return null;
                else
                    return result.ToString();
            }
            return null;
        }