public int GetPrice(ISellableUnitPriceSource unit, bool vat, bool discounted = true, bool sale = true, bool ranged = true) { var unitDiscounted = GetOriginalPrice(unit, discounted, sale, ranged); if (vat && !unit.PricesAreIncludingVAT) { return(VatCalculator.WithVat(unitDiscounted, unit.Vat)); } if (!vat && unit.PricesAreIncludingVAT) { return(VatCalculator.WithoutVat(unitDiscounted, unit.Vat)); } return(unitDiscounted); }
public void WithVatFromWithoutVat(int amountWithoutVat, int amountWithVat) { Assert.AreEqual(amountWithVat, VatCalculator.WithVat(amountWithoutVat, 19)); }
public void CaclulatingBackAndForthShouldReturnSamePrice(int amount) { Assert.AreEqual(amount, VatCalculator.WithoutVat(VatCalculator.WithVat(amount, 19), 19)); Console.WriteLine(VatCalculator.WithoutVat(amount, 19)); Assert.AreEqual(amount, VatCalculator.WithVat(VatCalculator.WithoutVat(amount, 19), 19)); }
public int WithVat(bool pricesAreIncludingVAT, int originalTotal, decimal vat, int summedParts) { return(pricesAreIncludingVAT ? originalTotal : VatCalculator.WithVat(originalTotal, vat)); }