string Microsoft.ActiveDirectory.Management.IADOPathNode.GetLdapFilterString() { StringBuilder stringBuilder = new StringBuilder("("); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(this._operator)); foreach (IADOPathNode _childNode in this._childNodes) { stringBuilder.Append(_childNode.GetLdapFilterString()); } stringBuilder.Append(")"); return(stringBuilder.ToString()); }
string Microsoft.ActiveDirectory.Management.IADOPathNode.GetLdapFilterString() { StringBuilder stringBuilder = new StringBuilder("("); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(this._operator)); string ldapFilterString = this._childExpr.GetLdapFilterString(); if (this._childExpr as UnaryADOPathNode != null) { UnaryADOPathNode unaryADOPathNode = (UnaryADOPathNode)this._childExpr; if (unaryADOPathNode._operator == ADOperator.Not && this._operator == ADOperator.Not) { return(unaryADOPathNode._childExpr.GetLdapFilterString()); } } stringBuilder.Append(ldapFilterString); stringBuilder.Append(")"); return(stringBuilder.ToString()); }
string Microsoft.ActiveDirectory.Management.IADOPathNode.GetLdapFilterString() { ADOperator aDOperator; StringBuilder stringBuilder = new StringBuilder(); bool flag = false; bool flag1 = false; if (this._operator == ADOperator.Gt || this._operator == ADOperator.Lt || this._operator == ADOperator.Ne || this._operator == ADOperator.NotLike) { flag = true; flag1 = true; ADOperator aDOperator1 = this._operator; if (aDOperator1 == ADOperator.Lt) { aDOperator = ADOperator.Ge; stringBuilder.Append("("); if (flag) { stringBuilder.Append("!"); } stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(aDOperator)); stringBuilder.Append(this._rightExpr.GetLdapFilterString()); stringBuilder.Append(")"); if (flag1) { stringBuilder.Insert(0, "(&"); stringBuilder.Append("("); stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append("=*))"); } return(stringBuilder.ToString()); } else if (aDOperator1 == ADOperator.Gt) { aDOperator = ADOperator.Le; stringBuilder.Append("("); if (flag) { stringBuilder.Append("!"); } stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(aDOperator)); stringBuilder.Append(this._rightExpr.GetLdapFilterString()); stringBuilder.Append(")"); if (flag1) { stringBuilder.Insert(0, "(&"); stringBuilder.Append("("); stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append("=*))"); } return(stringBuilder.ToString()); } else if (aDOperator1 == ADOperator.Approx || aDOperator1 == ADOperator.RecursiveMatch) { throw new InvalidOperationException("Code flow should never come here"); } else if (aDOperator1 == ADOperator.Ne) { aDOperator = ADOperator.Eq; stringBuilder.Append("("); if (flag) { stringBuilder.Append("!"); } stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(aDOperator)); stringBuilder.Append(this._rightExpr.GetLdapFilterString()); stringBuilder.Append(")"); if (flag1) { stringBuilder.Insert(0, "(&"); stringBuilder.Append("("); stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append("=*))"); } return(stringBuilder.ToString()); } if (aDOperator1 != ADOperator.NotLike) { throw new InvalidOperationException("Code flow should never come here"); } aDOperator = ADOperator.Eq; string ldapFilterString = this._rightExpr.GetLdapFilterString(); if (ADOPathUtil.IsValueAllAsterisk(ldapFilterString)) { flag1 = false; } } else { aDOperator = this._operator; } stringBuilder.Append("("); if (flag) { stringBuilder.Append("!"); } stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append(ADOPathUtil.GetLdapFilterString(aDOperator)); stringBuilder.Append(this._rightExpr.GetLdapFilterString()); stringBuilder.Append(")"); if (flag1) { stringBuilder.Insert(0, "(&"); stringBuilder.Append("("); stringBuilder.Append(this._leftExpr.GetLdapFilterString()); stringBuilder.Append("=*))"); } return(stringBuilder.ToString()); throw new InvalidOperationException("Code flow should never come here"); }