using System; public enum AccountTransaction {Withdrawing, Depositing, Interests}; public class BankAccount { private double interestRate; private string owner; private decimal balance; public BankAccount(string owner): this(owner, 0.0) { } public BankAccount(string owner, double interestRate) { this.interestRate = interestRate; this.owner = owner; this.balance = 0.0M; } public decimal Balance () { return balance; } private void LogTransaction(AccountTransaction kind, DateTime dt, decimal amount){ // It is an exercise to implement this method } public void Withdraw (decimal amount) { this.LogTransaction(AccountTransaction.Withdrawing, DateTime.Now, amount); balance -= amount; } public void Deposit (decimal amount) { this.LogTransaction(AccountTransaction.Depositing, DateTime.Now, amount); balance += amount; } public void AddInterests() { decimal interests = balance * (decimal)interestRate; this.LogTransaction(AccountTransaction.Interests, DateTime.Now, interests); balance += interests; } public override string ToString() { return owner + "'s account holds " + + balance + " kroner"; } }