private string Transform(string s, RaciStringComparison mode) { if (mode.HasFlag(RaciStringComparison.Trim)) { s = s?.Trim(); } if (mode.HasFlag(RaciStringComparison.WhiteIsEmpty) && string.IsNullOrEmpty(s?.Trim())) { s = s?.Trim(); } if (mode.HasFlag(RaciStringComparison.EmptyIsNull) && string.IsNullOrEmpty(s)) { s = null; } return(s); }
public StringComparison ConvertMode(RaciStringComparison mode) { return(mode == RaciStringComparison.Default ? StringComparison.CurrentCulture : mode.HasFlag(RaciStringComparison.Ordinal) ? mode.HasFlag(RaciStringComparison.IgnoreCase) ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal : mode.HasFlag(RaciStringComparison.Invariant) ? mode.HasFlag(RaciStringComparison.IgnoreCase) ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture : mode.HasFlag(RaciStringComparison.IgnoreCase) ? StringComparison.CurrentCultureIgnoreCase : StringComparison.CurrentCulture); }
public RaciStringComparison ConvertMode(StringComparison mode, bool emptyIsNull, bool whiteIsEmpty) { RaciStringComparison result = 0; if (EmptyIsNull) { result |= RaciStringComparison.EmptyIsNull; } if (WhiteIsEmpty) { result |= RaciStringComparison.WhiteIsEmpty; } switch (StringMode) { case StringComparison.CurrentCultureIgnoreCase: result |= RaciStringComparison.IgnoreCase; break; case StringComparison.InvariantCulture: result |= RaciStringComparison.Invariant; break; case StringComparison.InvariantCultureIgnoreCase: result |= RaciStringComparison.IgnoreCase; result |= RaciStringComparison.Invariant; break; case StringComparison.Ordinal: result |= RaciStringComparison.Ordinal; break; case StringComparison.OrdinalIgnoreCase: result |= RaciStringComparison.Ordinal; result |= RaciStringComparison.IgnoreCase; break; } return(result); }
public RaciComparer(RaciStringComparison mode) { Mode = mode; }
public static String EnumText(this RaciStringComparison value, string delimiter = " | ") => EnumText <RaciStringComparison>(value, delimiter);
public static RaciStringComparison Normalize(this RaciStringComparison value) { return(value.HasFlag(RaciStringComparison.Ordinal) && value.HasFlag(RaciStringComparison.Invariant) ? value ^ RaciStringComparison.Invariant : value); }