예제 #1
0
        public bool CanSatisfy(IEnumerable <IQualifier> qualifiers)
        {
            var qualifierTypes = qualifiers.Select(x => x.GetType()).ToArray();

            if (qualifierTypes.Contains(typeof(AnyAttribute)))
            {
                return(true);
            }

            return(qualifierTypes.All(Qualifiers.Select(x => x.GetType()).Contains));
        }
        public Pb.Filter ConvertToPBFilter()
        {
            var internalFilter = new Pb.FirstKeyValueMatchingQualifiersFilter();

            if (Qualifiers?.Any() == true)
            {
                internalFilter.Qualifiers.AddRange(Qualifiers.Select(ByteString.CopyFrom).ToArray());
            }

            var filter = new Pb.Filter
            {
                Name             = Name,
                SerializedFilter = internalFilter.ToByteString()
            };

            return(filter);
        }