Beispiel #1
0
 public void CalculateInterestFor(DateTime forDate, IYieldAccount account, double interestRate, uint days = 1)
 {
     if (HasPositiveBalance(account) &&
         ItHasAlreadyBeenCalculated(forDate, account.LastYieldedDate.GetValueOrDefault(), days))
     {
         decimal calc    = Convert.ToDecimal(Math.Pow(1 + interestRate / 100d, days / 252d) - 1);
         var     balance = Math.Round(calc * account.Balance, 2);
         account.SetYield(balance, forDate);
     }
 }
 public CalculatedIncomeEvent(IYieldAccount account, decimal amount)
     : base(account, EventType.Income, amount)
 {
 }
Beispiel #3
0
 private static bool HasPositiveBalance(IYieldAccount account) => account.Balance > 0;