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); }
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); }