Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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");
        }