protected override String CreateStartsWithExpression(StartsWithFilter filter,
                                                             Boolean not)
        {
            String[] attrNames = GetLdapNamesForAttribute(filter.GetAttribute());
            if (attrNames == null)
            {
                return(null);
            }

            StringBuilder builder = new StringBuilder();

            if (not)
            {
                builder.Append("(!");
            }
            if (attrNames.Length == 1)
            {
                builder.Append('(');
                builder.Append(attrNames[0]);
                builder.Append('=');
                GetLdapFilterValue(builder, attrNames[0], filter.GetValue());
                builder.Append("*)");
            }
            else
            {
                builder.Append("(|");
                foreach (String attrName in attrNames)
                {
                    builder.Append('(');
                    builder.Append(attrName);
                    builder.Append('=');
                    GetLdapFilterValue(builder, attrName, filter.GetValue());
                    builder.Append("*)");
                }
                builder.Append(')');
            }
            if (not)
            {
                builder.Append(')');
            }
            return(builder.ToString());
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="p"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public string VisitStartsWithFilter(Hashtable p, StartsWithFilter filter)
        {
            var name  = filter.GetName();
            var name2 = name as String;

            if (p.ContainsKey(name))
            {
                name2 = p[name] as String;
            }
            return(string.Format("{0} -like \"{1}{2}\"", name2, filter.GetValue(), "*"));
        }
Example #3
0
        protected override String CreateStartsWithExpression(StartsWithFilter filter, bool not)
        {
            String rv = "( STARTS-WITH " + filter.GetName() + " " + filter.GetValue() + " )";

            return(Not(rv, not));
        }
Example #4
0
 public Dictionary <string, object> VisitStartsWithFilter(Hashtable p, StartsWithFilter filter)
 {
     return(CreateMap("STARTSWITH", filter.GetName(), filter.GetValue()));
 }