private void CalculateSharedDiscount() { if (!Summary.DiscountTotalAmount.IsZero()) { var discountTotalRate = new DiscountRate(DiscountType.Percent, Summary.DiscountTotalAmount.Percent); var discountTotalAmount = discountTotalRate.Apply(Summary.SubTotal, 1); this.Summary = new Summary(Summary.TaxAmount, discountTotalAmount, Summary.ChargeAmount, Summary.SubTotal); foreach (Item item in Items) { item.ChangeDiscountTotal(Summary.SubTotal, discountTotalAmount); } } }
public void ChangeDiscountTotal(DiscountRate discountTotalRate) { var discountTotalAmount = discountTotalRate.Apply(Summary.SubTotal, 1); foreach (Item item in Items) { item.ChangeDiscountTotal(Summary.SubTotal, discountTotalAmount); } this.Summary = new Summary(Summary.TaxAmount, discountTotalAmount, Summary.ChargeAmount, Summary.SubTotal); CalculateCharge(); CalculateTax(); }