Пример #1
0
        public bool ValidateTransaction(string sourceAccNo, string destinationAccNo, double amount)
        {
            if (ValidateTransactions.ValidateAccount(sourceAccNo) &&
                ValidateTransactions.ValidateAccount(destinationAccNo) &&
                ValidateTransactions.ValidateAccountBanalnce(sourceAccNo, amount) &&
                ValidateTransactions.ValidateTransactionLimit(sourceAccNo + "_" + destinationAccNo) &&
                ValidateTransactions.ValidateTransactionCount(sourceAccNo + "_" + destinationAccNo))
            {
                CreditAmount(sourceAccNo, amount);
                DebitAmount(destinationAccNo, amount);
                ManageTransactionHistory(sourceAccNo, destinationAccNo, amount);
                return(true);
            }

            return(false);
        }
Пример #2
0
        public bool CreateAccount(AccountDetails accountDetails)
        {
            ValidateTransactions.InitializeAccountDetails(_accountCacheModel.AccountDetailsList);
            if (_accountCacheModel.AccountDetailsList.Count == 0)
            {
                _accountCacheModel.AccountDetailsList.Add(accountDetails);
                return(true);
            }
            else if (ValidateTransactions.ValidateAccount(accountDetails.AccountNumber))
            {
                _accountCacheModel.AccountDetailsList.Add(accountDetails);

                return(true);
            }
            return(false);
        }
Пример #3
0
        public void ManageTransactionDetails(string sourceAccNo, string destinationAccNo, double amount)
        {
            ValidateTransactions.InitializeTransactionDetails(_transactionCacheModel.TransactionList);

            /**
             * check for accounts exists or not
             * check for source balance history
             * check for transaction limit per day
             * check for transaction amount limit per day
             * credit amount
             * debit amount
             * */
            if (ValidateTransaction(sourceAccNo, destinationAccNo, amount))
            {
                Console.WriteLine("transaction successfull");
            }
            else
            {
                Console.WriteLine("Transaction Failed !!");
            }
        }