Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public RaciComparer(RaciStringComparison mode)
 {
     Mode = mode;
 }
Ejemplo n.º 5
0
 public static String EnumText(this RaciStringComparison value, string delimiter = " | ") =>
 EnumText <RaciStringComparison>(value, delimiter);
Ejemplo n.º 6
0
 public static RaciStringComparison Normalize(this RaciStringComparison value)
 {
     return(value.HasFlag(RaciStringComparison.Ordinal) && value.HasFlag(RaciStringComparison.Invariant)
         ? value ^ RaciStringComparison.Invariant
         : value);
 }