public void Apply(Calculation calculation) { rules .Where(r => r.Applies(calculation)) .ForEach(r => r.Apply(calculation)); }
private void ApplyDiscounts(Calculation calculation) { DiscountMarkupRules.Apply(calculation); }
private void UpdateTotals(Calculation calculation) { calculation.UpdateTotal(); }
public abstract Calculation Apply(Calculation calculation);