protected override String CreateContainsExpression(ContainsFilter 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("=*"); int len = builder.Length; GetLdapFilterValue(builder, attrNames[0], filter.GetValue()); // Build (attr=*) rather than (attr=**) for zero-length values. if (builder.Length != len) { builder.Append('*'); } builder.Append(')'); } else { builder.Append("(|"); foreach (String attrName in attrNames) { builder.Append('('); builder.Append(attrName); builder.Append("=*"); int len = builder.Length; GetLdapFilterValue(builder, attrName, filter.GetValue()); // Build (attr=*) rather than (attr=**) for zero-length values. if (builder.Length != len) { builder.Append('*'); } 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 VisitContainsFilter(Hashtable p, ContainsFilter 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}{3}\"", name2, "*", filter.GetValue(), "*")); }
protected override String CreateContainsExpression(ContainsFilter filter, bool not) { String rv = "( CONTAINS " + filter.GetName() + " " + filter.GetValue() + " )"; return(Not(rv, not)); }
public Dictionary <string, object> VisitContainsFilter(Hashtable p, ContainsFilter filter) { return(CreateMap("CONTAINS", filter.GetName(), filter.GetValue())); }