public StringMixEvaluator(PropertyInfo targetProperty, string target, StringEvalType evalType, MixType type) { TargetProperty = targetProperty; Target = target; EvalType = evalType; MixType = type; }
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()); }
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; } }
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); } }