public string GetDisplayText(MessageFilterProperty property)
        {
            if (property == null)
            {
                throw new ArgumentNullException("property");
            }

            CriteriaPropertyType criteriaType;
            ActionPropertyType   actionType;

            var name = property.Name;

            if (CriteriaPropertyTypes.TryGetValue(name, out criteriaType))
            {
                return(GetCriteriaDisplayText(criteriaType, name, property.Value));
            }
            else if (ActionPropertyTypes.TryGetValue(name, out actionType))
            {
                return(GetActionDisplayText(actionType, name, property.Value));
            }
            else
            {
                return(GetDefaultDisplayText(name, property.Value));
            }
        }
        public IEnumerable <MessageFilterProperty> GetCriteriaProperties(IEnumerable <MessageFilterProperty> properties)
        {
            if (properties == null)
            {
                throw new ArgumentNullException("properties");
            }

            return(properties.Where(o => CriteriaPropertyTypes.ContainsKey(o.Name)));
        }
        public bool GetIsBooleanProperty(string name)
        {
            CriteriaPropertyType criteriaType;
            ActionPropertyType   actionType;

            if (CriteriaPropertyTypes.TryGetValue(name, out criteriaType))
            {
                return(GetIsBooleanProperty(criteriaType));
            }
            else if (ActionPropertyTypes.TryGetValue(name, out actionType))
            {
                return(GetIsBooleanProperty(actionType));
            }
            else
            {
                return(false);
            }
        }