private static void ParseWhereClause(FilterBuilder builder, DirectoryExpression expression) { var type = expression.GetOrigionalType(); var attributeBuilder = builder.CreateBuilder(); attributeBuilder.AddObjectClass(GetName(type)); foreach (var where in expression.WhereClause) { VisitExpression(attributeBuilder, where); } builder.AddBuilder(attributeBuilder); }
public TranslatorContext(DirectoryExpression expression, DirectorySearcher directorySearcher) { Expression = expression; DirectorySearcher = directorySearcher; }
public SearchResults(DirectoryExpression expression, SearchResultCollection searchResults) : this(searchResults) { _expression = expression; }
internal DirectoryExpression GetExpression() { var expression = new DirectoryExpression(Expression); return(Visitor.VisitDirectory(expression)); }
private DirectorySearcher CreateDirectorySearcher(DirectoryEntry entry, SearchScope scope, DirectoryExpression expression) { var origionalType = expression.GetOrigionalType(); return(CreateDirectorySearcher(entry, scope, null, origionalType)); }
public DirectoryEnumerator <T> Translate <T>(DirectoryExpression expression, DirectorySearcher directorySearcher) { return(Translate <T>(new TranslatorContext(expression, directorySearcher))); }
private DirectorySearcher CreateDirectorySearcher(DirectoryEntry entry, DirectoryExpression expression) { return(CreateDirectorySearcher(entry, SearchScope.Subtree, expression)); }
private DirectorySearcher CreateDirectorySearcher(DirectoryExpression expression) { var origionalType = expression.GetOrigionalType(); return(CreateDirectorySearcher(null, origionalType)); }
public IEnumerator <T> ExecuteQuery <T>(DirectoryEntry entry, SearchScope scope, DirectoryExpression expression) { using (var searcher = CreateDirectorySearcher(entry, scope, expression)) { return(Translator.Translate <T>(expression, searcher)); } }
public IEnumerator <T> ExecuteQuery <T>(DirectoryEntry entry, DirectoryExpression expression) { return(ExecuteQuery <T>(entry, SearchScope.Subtree, expression)); }
public IEnumerator <T> ExecuteQuery <T>(DirectoryExpression expression) { return(ExecuteQuery <T>(Context.RootEntry, expression)); }