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); }
/// <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); }