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 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 int GetOriginalPrice(ISellableUnitPriceSource unit, bool discounted = true, bool sale = true, bool ranged = true)
        {
            var solden = unit.GetPrice(sale, ranged);

            return(discounted ? unit.ApplyOrderDiscount(solden) : solden);
        }
		public int GetOriginalPrice(ISellableUnitPriceSource unit, bool discounted = true, bool sale = true, bool ranged = true)
		{
			var solden = unit.GetPrice(sale, ranged);

			return discounted ? unit.ApplyOrderDiscount(solden) : solden;
		}