Ejemplo n.º 1
0
        private string TransferAmount(BankTransaction trans)
        {
            BankAccount sourceAcct = _lib.GetBankAccountByAccountNumber(trans.SourceAccountNumber);
            BankAccount targetAcct = _lib.GetBankAccountByAccountNumber(trans.TargetAccountNumber);

            if (sourceAcct != null && targetAcct != null && trans.TransactionAmount < 0)
            {
                return("Transaction Amount cannot be negative or less than zero");
            }
            else if (sourceAcct != null && targetAcct != null && sourceAcct.Balance > trans.TransactionAmount)
            {
                //sourceAcct.Balance = sourceAcct.Balance - trans.TransactionAmount;

                //targetAcct.Balance = targetAcct.Balance + trans.TransactionAmount;

                _lib.UpdateBankAccount(sourceAcct, targetAcct, trans.TransactionType, trans.TransactionAmount);
            }
            else if (sourceAcct != null && targetAcct != null && sourceAcct.Balance < trans.TransactionAmount)
            {
                return("Transaction Amount must be less than Balance Amount.");
            }
            else if (sourceAcct != null && targetAcct == null)
            {
                return("Target Account Number does not exist.");
            }
            else if (sourceAcct == null && targetAcct != null)
            {
                return("Source Account Number does not exists.");
            }

            return("Bank Transaction Successfull");
        }
Ejemplo n.º 2
0
        public string ProcessBankTransaction(BankTransaction trans)
        {
            string result = "";

            switch (trans.TransactionType)
            {
            case "Deposit":
                result = DepositAmount(trans);
                break;

            case "Withdraw":
                result = WithrawAmount(trans);
                break;

            case "Transfer":
                result = TransferAmount(trans);
                break;

            default:
                break;
            }

            return(result);
        }
Ejemplo n.º 3
0
        private string WithrawAmount(BankTransaction trans)
        {
            BankAccount acct = _lib.GetBankAccountByAccountNumber(trans.SourceAccountNumber);

            if (acct != null && acct.Balance > trans.TransactionAmount)
            {
                if (trans.TransactionAmount > 0)
                {
                    acct.Balance = acct.Balance - trans.TransactionAmount;

                    _lib.UpdateBankAccount(acct, trans.TransactionType, trans.TransactionAmount);

                    return("Bank Transaction Successfull");
                }
                else
                {
                    return("Transaction Amount cannot be negative or less than zero");
                }
            }
            else
            {
                return("Account Number does not exists!");
            }
        }