internal static decimal getRate(Currency c, DateTime dt) { if (c is null) { return(decimal.Zero); } var rateID = RateFactory.CalculateID(c.ID, dt, RateFactory.EuroRate); var rate = rates?.GetRate(rateID); var r = rate?.Data?.Rate; if (r is null || r == 0) { r = getClosestKnownRate(c, dt); } return((decimal)r); }
public double Discount(double amount) { double rate = _rateRepository.GetRate(amount); return(amount * rate); }