Пример #1
0
        private bool IsTrue(WorkflowCondition condition, NamedContentData data, ClaimsPrincipal user)
        {
            if (condition?.Roles != null)
            {
                if (!user.Claims.Any(x => x.Type == ClaimTypes.Role && condition.Roles.Contains(x.Value)))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(condition?.Expression))
            {
                return(scriptEngine.Evaluate("data", data, condition.Expression));
            }

            return(true);
        }
Пример #2
0
        private bool IsTrue(WorkflowCondition condition, ContentData?data, ClaimsPrincipal?user)
        {
            if (condition?.Roles != null && user != null)
            {
                if (!user.Claims.Any(x => x.Type == ClaimTypes.Role && condition.Roles.Contains(x.Value)))
                {
                    return(false);
                }
            }

            if (!string.IsNullOrWhiteSpace(condition?.Expression) && data != null)
            {
                var vars = new DataScriptVars
                {
                    Data = data
                };

                return(scriptEngine.Evaluate(vars, condition.Expression));
            }

            return(true);
        }