internal long AppliedTo(long sub) { if(AmountOff == 0) { sub = (long)Math.Round(sub - (sub * PercentageOff)); } else { sub -= AmountOff; } return Math.Max(sub, 0); }