public static string Stringify(this IGroupModifier m) { switch (m.Action) { case EntryBaseModifierAction.Hide: case EntryBaseModifierAction.Show: return(m.Action.ToString()); case EntryBaseModifierAction.Increment: case EntryBaseModifierAction.Decrement: return($"{m.Action} '{m.Field}' by '{m.Value}'"); case EntryBaseModifierAction.Set: return($"{m.Action} '{m.Field}' to '{m.Value}'"); default: throw new ArgumentOutOfRangeException(); } }
public static ModifierFacade ToFacade(this IGroupModifier modifier) { return(new ModifierFacade(modifier)); }
public ModifierFacade(IGroupModifier modifier) : this(modifier, ModifierKind.Group, modifier.Stringify) { }