public int GetPrice(bool saleDiscounted, bool ranged) { var suBasePrice = _product.GetAmount(saleDiscounted, ranged) + _product.ProductVariants.Sum(v => v.GetAmount(saleDiscounted, ranged)); var hasSellableUnitSaleDiscount = !_product.DiscountExcludingVariants; return(hasSellableUnitSaleDiscount ? (int)((100 - (long)_product.DiscountPercentage) * suBasePrice / 100 - _product.DiscountAmountInCents) : suBasePrice); }