Disco.Services.Interop.ActiveDirectory.ADDomainController.SearchScope C# (CSharp) Method

SearchScope() public method

public SearchScope ( string LdapFilter, string LoadProperties, int ResultLimit = null ) : IEnumerable
LdapFilter string
LoadProperties string
ResultLimit int
return IEnumerable
        public IEnumerable<ADSearchResult> SearchScope(string LdapFilter, string[] LoadProperties, int? ResultLimit = null)
        {
            var searchScope = this.Domain.SearchContainers;

            // No scope set, search entire domain
            if (searchScope == null)
                return SearchEntireDomain(LdapFilter, LoadProperties, ResultLimit);

            // Ignore domain
            if (searchScope.Count == 0)
                return Enumerable.Empty<ADSearchResult>();

            // Multi-search
            var results = searchScope.SelectMany(scope => SearchInternal(scope, LdapFilter, LoadProperties, ResultLimit));
            if (ResultLimit.HasValue)
                results = results.Take(ResultLimit.Value);
            return results;
        }