Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        protected virtual bool CheckNodeCondition(NodeEntity node)
        {
            if (node == null || node.Conditions == null || node.Conditions.Count == 0)
            {
                return(true);
            }
            if (node.ConditionDelegate != null)
            {
                return(node.ConditionDelegate(this));
            }
            var infos = new List <object> {
                Task.Consumer as object
            };

            foreach (var condition in node.Conditions)
            {
                if (string.IsNullOrEmpty(condition.InspectExp))
                {
                    continue;
                }
                if (!infos.AsQueryable().Where(condition.InspectExp, condition.ArgumentArray).Any())
                {
                    return(false);
                }
            }
            return(true);
        }