public static FingerprintBuilder <T> For <T>(this FingerprintBuilder <T> builder, Expression <Func <T, string> > expression, bool ignoreCase, bool ignoreWhiteSpace) { var format = (Func <string, string>)(input => { if (ignoreCase) { input = input.ToUpperInvariant(); } if (ignoreWhiteSpace) { input = input.Trim(); } return(input); }); return(builder.For(expression, input => format(input))); }
public static FingerprintBuilder <T> Add <T, TInput>(this FingerprintBuilder <T> builder, Expression <Func <T, TInput> > getInputExpression) { return(builder.Add(getInputExpression, _ => _)); }
public static FingerprintBuilder <T> Add <T>(this FingerprintBuilder <T> builder, Expression <Func <T, string> > getInputExpression, StringOptions options = StringOptions.None) { return(builder.Add(getInputExpression, input => Format(input, options))); }
public static FingerprintBuilder <T> For <T, TProperty>(this FingerprintBuilder <T> builder, Expression <Func <T, TProperty> > expression) { return(builder.For(expression, _ => _)); }