Exemplo n.º 1
0
 public StringMixEvaluator(PropertyInfo targetProperty, string target, StringEvalType evalType, MixType type)
 {
     TargetProperty = targetProperty;
     Target = target;
     EvalType = evalType;
     MixType = type;
 }
Exemplo n.º 2
0
 public StringMixEvaluator(PropertyInfo targetProperty, string target, StringEvalType evalType, MixType type)
 {
     TargetProperty = targetProperty;
     Target         = target;
     EvalType       = evalType;
     MixType        = type;
 }
Exemplo n.º 3
0
        public static IMixEvaluator StringMixEntryModelToMixEvaluator(MixType type, string input)
        {
            PropertyInfo info = null;

            switch (type & MixType.SUBTYPE_MASK)
            {
            case MixType.ALBUM_SUBTYPE:
                info = typeof(SongViewModel).GetRuntimeProperty(SongViewModel.Properties.AlbumSortName);
                break;

            case MixType.ALBUMARTIST_SUBTYPE:
                info = typeof(SongViewModel).GetRuntimeProperty(SongViewModel.Properties.AlbumArtistSortName);
                break;

            case MixType.ARTIST_SUBTYPE:
                info = typeof(SongViewModel).GetRuntimeProperty(SongViewModel.Properties.AlbumSortName);
                break;

            case MixType.TRACK_SUBTYPE:
                info = typeof(SongViewModel).GetRuntimeProperty(SongViewModel.Properties.Name);
                break;

            default:
                DebugHelper.Alert(new CallerInfo(), "Unexpected ALBUM_TYPE MixType {0}", type);
                break;
            }

            StringEvalType stringEvalType = StringEvalType.Unknown;

            switch (type & MixType.VARIANT_MASK)
            {
            case MixType.STRING_CONTAINS_VARIANT:
                stringEvalType = StringEvalType.SubString;
                break;

            case MixType.STRING_ENDSWITH_VARIANT:
                stringEvalType = StringEvalType.EndsWith;
                break;

            case MixType.STRING_EQUAL_VARIANT:
                stringEvalType = StringEvalType.Equal;
                break;

            case MixType.STRING_STARTSWITH_VARIANT:
                stringEvalType = StringEvalType.StartsWith;
                break;

            default:
                DebugHelper.Alert(new CallerInfo(), "Unexpected ALBUM_TYPE VARIANT_MASK MixType {0}", type);
                break;
            }

            if (info != null)
            {
                return(new StringMixEvaluator(info, input, stringEvalType, type));
            }

            return(new NoneMixEvaluator());
        }
Exemplo n.º 4
0
 public static MixType StringEvalTypeToMixTypeVariant(StringEvalType evalType)
 {
     switch (evalType)
     {
         case StringEvalType.EndsWith:
             return MixType.STRING_ENDSWITH_VARIANT;
         case StringEvalType.StartsWith:
             return MixType.STRING_STARTSWITH_VARIANT;
         case StringEvalType.SubString:
             return MixType.STRING_CONTAINS_VARIANT;
         case StringEvalType.Equal:
             return MixType.STRING_EQUAL_VARIANT;
         default:
             DebugHelper.Alert(new CallerInfo(), "Unexpected eval type");
             return MixType.None;
     }
 }
Exemplo n.º 5
0
        public static MixType StringEvalTypeToMixTypeVariant(StringEvalType evalType)
        {
            switch (evalType)
            {
            case StringEvalType.EndsWith:
                return(MixType.STRING_ENDSWITH_VARIANT);

            case StringEvalType.StartsWith:
                return(MixType.STRING_STARTSWITH_VARIANT);

            case StringEvalType.SubString:
                return(MixType.STRING_CONTAINS_VARIANT);

            case StringEvalType.Equal:
                return(MixType.STRING_EQUAL_VARIANT);

            default:
                DebugHelper.Alert(new CallerInfo(), "Unexpected eval type");
                return(MixType.None);
            }
        }