예제 #1
0
        bool IsFiltered(Passenger pass)
        {
            if (FilterExprList.Any(s => s(pass)))
            {
                return(true);
            }

            return(AvailableFilter?.Any(s => s.IdType == pass.IdTypeCode && s.IdNo == pass.IdNo && s.Name == pass.Name) != false);
        }
예제 #2
0
        /// <summary>
        /// Get's a list with properties in the RegisteredSip-object, that's possible to base filter on
        /// </summary>
        /// <returns></returns>
        public List <AvailableFilter> GetFilterProperties()
        {
            var filterProperties = (typeof(RegisteredUserAgentAndProfilesDiscovery)).GetProperties().Where(p => p.GetCustomAttributes(false).Any(a => a is FilterPropertyAttribute));

            List <AvailableFilter> availableFilters = new List <AvailableFilter>();

            foreach (var property in filterProperties)
            {
                var filterAttribute = property.GetCustomAttributes(typeof(FilterPropertyAttribute), false).FirstOrDefault() as FilterPropertyAttribute;

                if (filterAttribute != null)
                {
                    var filter = new AvailableFilter
                    {
                        FilteringName = property.Name,
                        TableName     = filterAttribute.TableName,
                        ColumnName    = filterAttribute.ColumnName
                    };
                    availableFilters.Add(filter);
                }
            }

            return(availableFilters);
        }