// Token: 0x06000DDF RID: 3551 RVA: 0x00040AB3 File Offset: 0x0003ECB3 private void ConvertAnrFilter(AmbiguousNameResolutionFilter anrFilter) { this.IncrementFilterSize(); this.ldapFilter.Append("(anr="); ADValueConvertor.EscapeAndAppendString(anrFilter.ValueToMatch, this.ldapFilter); this.ldapFilter.Append(")"); }
private IEnumerable <UnifiedGroupParticipant> GetMembersInternal(bool sortByDisplayName, int sizeLimit, string anrToMatch = null) { QueryFilter anrFilter = null; if (!string.IsNullOrEmpty(anrToMatch)) { anrToMatch = anrToMatch.Trim(); if (anrToMatch.Length == 1) { anrFilter = QueryFilter.OrTogether(new QueryFilter[] { new TextFilter(ADUserSchema.FirstName, anrToMatch, MatchOptions.Prefix, MatchFlags.IgnoreCase), new TextFilter(ADUserSchema.LastName, anrToMatch, MatchOptions.Prefix, MatchFlags.IgnoreCase) }); } else { anrFilter = new AmbiguousNameResolutionFilter(anrToMatch); } } ADPagedReader <ADRawEntry> pagedReader = UnifiedGroupADAccessLayer.GetAllGroupMembers(this.ReadOnlyAdSession, this.groupMailbox.Id, UnifiedGroupParticipant.DefaultMemberProperties, sortByDisplayName ? new SortBy(ADRecipientSchema.DisplayName, SortOrder.Ascending) : null, anrFilter, 0); HashSet <Guid> ownerSet = new HashSet <Guid>(); foreach (ADObjectId adobjectId in this.groupMailbox.Owners) { ownerSet.Add(adobjectId.ObjectGuid); } int counter = 0; foreach (ADRawEntry item in pagedReader) { if (sizeLimit > 0) { counter++; if (counter > sizeLimit) { break; } } yield return(this.SetOwnership(UnifiedGroupParticipant.CreateFromADRawEntry(item), ownerSet)); } yield break; }
// Token: 0x06000DD5 RID: 3541 RVA: 0x0003FC84 File Offset: 0x0003DE84 private void BuildLdapFilterInternal(QueryFilter queryFilter, QueryFilter parentQueryFilter) { SinglePropertyFilter singlePropertyFilter = queryFilter as SinglePropertyFilter; if (singlePropertyFilter != null) { this.ConvertSinglePropertyFilter(singlePropertyFilter, parentQueryFilter); return; } NotFilter notFilter = queryFilter as NotFilter; if (notFilter != null) { this.ConvertNotFilter(notFilter); return; } AmbiguousNameResolutionFilter ambiguousNameResolutionFilter = queryFilter as AmbiguousNameResolutionFilter; if (ambiguousNameResolutionFilter != null) { this.ConvertAnrFilter(ambiguousNameResolutionFilter); return; } CompositeFilter compositeFilter = queryFilter as CompositeFilter; if (compositeFilter != null) { this.ConvertCompositeFilter(compositeFilter, parentQueryFilter); return; } CustomLdapFilter customLdapFilter = queryFilter as CustomLdapFilter; if (customLdapFilter != null) { this.ldapFilter.Append("("); this.ldapFilter.Append(customLdapFilter.LdapFilter); this.ldapFilter.Append(")"); return; } throw new ADFilterException(DirectoryStrings.ExceptionUnsupportedFilter(queryFilter.GetType().ToString())); }