예제 #1
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);
        }
예제 #2
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);
        }