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()); }
/// <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(), "*")); }
protected override String CreateStartsWithExpression(StartsWithFilter filter, bool not) { String rv = "( STARTS-WITH " + filter.GetName() + " " + filter.GetValue() + " )"; return(Not(rv, not)); }
public Dictionary <string, object> VisitStartsWithFilter(Hashtable p, StartsWithFilter filter) { return(CreateMap("STARTSWITH", filter.GetName(), filter.GetValue())); }