예제 #1
0
        public static void CreateTransaction(IAccount account, IAccount account2, decimal amount, string type)
        {
            string transactionInfo;
            int    accountno  = account.Accountno;
            int    customerId = account.Accountno;

            switch (type)
            {
            case "Deposit":
                transactionInfo = $"Deposit {amount} to accountno: {account.Accountno}";
                break;

            case "Withdraw":
                transactionInfo = $"Withdraw {amount} from accountno: {account.Accountno}";
                break;

            case "Transfer":
                transactionInfo = $"Transfer {amount} from: {account.Accountno} to: {account2.Accountno}";
                break;

            case "Received":
                transactionInfo = $"Received {amount} from: {account.Accountno}";
                accountno       = account2.Accountno;
                customerId      = account2.Accountno;
                break;

            default:
                transactionInfo = $"Transaction info is invalid";
                break;
            }

            Transaction transaction = new Transaction()
            {
                TransactionNo   = Transaction.GenerateTransactionNo(),
                TransactionInfo = transactionInfo,
                AccountNo       = accountno,
                CustomerId      = customerId,
                Time            = DateTime.Now
            };

            transactions.Add(transaction); // add to transactions
            // add to transaction inside an account
        }