private Expression BuildPresentFilter(PresentFilter filter, Expression itemExpression) { Expression attributeExpr = Expression.Property(itemExpression, "Attributes"); Expression attributeContainsKey = Expression.Call(attributeExpr, typeof(Dictionary <string, List <string> >).GetMethod("ContainsKey", new Type[] { typeof(string) }), Expression.Constant(filter.Value.ToLower())); return(attributeContainsKey); }
private Expression BuildPresentFilter(PresentFilter filter, Expression itemExpression) { List <string> existingAttributes = new List <string>() { "dn", "displayname", "email", "objectclass", "entryuuid", }; if (existingAttributes.Contains(filter.Value.ToLower())) { Expression left = Expression.Constant(1); Expression right = Expression.Constant(1); return(Expression.Equal(left, right)); } else { Expression left = Expression.Constant(1); Expression right = Expression.Constant(2); return(Expression.Equal(left, right)); } }