static void Main(string[] args) { List <string> accntNumbers = new List <string> { "CITI-456", "NATIONAL-987", "CHASE-222" }; for (int i = 0; i < accntNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider. GetCreditUnionFactory(accntNumbers[i]); if (anAbstractFactory == null) { Console.WriteLine("Sorry, This credit union w/ account number " + $"{accntNumbers[i]} is invalid."); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } }
static void Main(string[] args) { List <string> accountNumbers = new List <string>() { "CITI-456", "NATIONAL-987", "CHASE-222" }; for (int i = 0; i < accountNumbers.Count; i++) { ICreditUnionFactory creditUnionFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accountNumbers[i]); if (creditUnionFactory == null) { Console.WriteLine("Sorry. This credit union w/ account number {0} is invalid", accountNumbers[i]); } else { ILoanAccount loanAccount = creditUnionFactory.GetLoanAccount(); ISavingAccount savingAccount = creditUnionFactory.GetSavingAccount(); } } Console.ReadLine(); }
public static void Main() { List <string> accntNumbers = new List <string> { "CITI-456", "NATIONAL-987", "CHASE-222" }; for (int i = 0; i < accntNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider. GetCreditUnionFactory(accntNumbers[i]); if (anAbstractFactory == null) { var accNumber = accntNumbers[i]; Console.WriteLine($"Sorry. The account number {accNumber} is invalid."); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } }
static void Main(string[] args) { List <string> accntNumbers = new List <string> { "Sehir-456", "Ulusal-987", "CHASE-222" }; for (int i = 0; i < accntNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider. GetCreditUnionFactory(accntNumbers[i]); if (anAbstractFactory == null) { Console.WriteLine("Sorry. This credit union w/ account number" + " ' {0} ' is invalid.", (accntNumbers[i])); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }
static void Main(string[] args) { List <string> accountNumbers = new List <string>() { "NATIONAL-567", "CITI-302", "CHASE-43" }; for (int i = 0; i < accountNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accountNumbers[i]); if (anAbstractFactory == null) { Console.WriteLine($"Sorry this credit union account number {accountNumbers[i]} is invalid"); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }
static void Main(string[] args) { //create some account numbers //pass it to the factory to determine which bank will be used //and then it creates a loan and a savings for each bank. //returns the error message for Chase. List <string> accntNumbers = new List <string> { "CITI-456", "NATIONAL-987", "CHASE-222" }; for (int i = 0; i < accntNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider. GetCreditUnionFactory(accntNumbers[i]); if (anAbstractFactory == null) { Console.WriteLine("Sorry. This credit union w/ account number" + " ' {0} ' is invalid.", (accntNumbers[i])); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }
static void Main(string[] args) { List <string> accntNumber = new List <string> { "CITI-456", "NATIONAL-987", "CHASE-222", }; for (int i = 0; i < accntNumber.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accntNumber[i]); if (anAbstractFactory == null) { Console.WriteLine("This credit union with account number" + " ' {0} ' is invalid ", (accntNumber[i])); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }
/// <summary> /// Button 'Charge Fee' click /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnChargeFee_Click(object sender, EventArgs e) { ITransactionProcessor transactionProccesor = TransactionProcessor.GetTransactionProcessor(); CurrencyAmount currencyAmount = new CurrencyAmount(); currencyAmount.Amount = Convert.ToInt32(txtTransactionAmoun.Text); currencyAmount.Currency = txtTransactionCurrency.Text; IDepositAccount depositAccount = createDepositAccount(); ILoanAccount loanAccount = createLoanAccount(); List <IAccount> accounts = new List <IAccount>(); accounts.Add(depositAccount); accounts.Add(loanAccount); TransactionStatus status = ProcessorExtensions.ChargeProcessingFee(transactionProccesor, currencyAmount, accounts); if (status.Equals(TransactionStatus.Completed)) { lblTransactionStatus.Text = "Transaction Completed"; } else { lblTransactionStatus.Text = "Transaction Failed"; } DisplayLastTransactionDetails(); }
/// <summary> /// Method for creating accounts /// </summary> /// <param name="accountTypesToCreate">account type</param> /// <param name="transactionAccount">transaction account</param> /// <returns>dictionary of created accounts</returns> private Dictionary <CreateAccountType, IAccount> CreateAccounts(CreateAccountType accountTypesToCreate, ITransactionAccount transactionAccount) { Dictionary <CreateAccountType, IAccount> accounts = new Dictionary <CreateAccountType, IAccount>(); if ((accountTypesToCreate & CreateAccountType.TransactionAccount) == CreateAccountType.TransactionAccount) { ITransactionAccount transactionAccountLocal = createTransactionAccount(); accounts.Add(CreateAccountType.TransactionAccount, transactionAccount); } if ((accountTypesToCreate & CreateAccountType.DepositAccount) == CreateAccountType.DepositAccount) { IDepositAccount depositAccount = createDepositAccount(); accounts.Add(CreateAccountType.DepositAccount, depositAccount); } if ((accountTypesToCreate & CreateAccountType.LoanAccount) == CreateAccountType.LoanAccount) { ILoanAccount loanAccount = createLoanAccount(); accounts.Add(CreateAccountType.LoanAccount, loanAccount); } return(accounts); }
public void NationalLoanAccount_InterestRate_Returns10() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.National); ILoanAccount loanAccount = abstractFactory.CreateLoanAccount(); Assert.Equal(10, loanAccount.InterestRate); }
public void CitiLoanAccount_InterestRate_Returns7() { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(AccountType.Citi); ILoanAccount loanAccount = abstractFactory.CreateLoanAccount(); Assert.Equal(7, loanAccount.InterestRate); }
public void CheckAllAccounts_ReturnsCorrectBalanceAndInterestRate(AccountType accountType, int balance, int interestRate) { ICreditUnionFactory abstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(accountType); ISavingsAccount savingsAccount = abstractFactory.CreateSavingsAccount(); ILoanAccount loanAccount = abstractFactory.CreateLoanAccount(); Assert.Equal(balance, savingsAccount.Balance); Assert.Equal(interestRate, loanAccount.InterestRate); }
/// <summary> /// Button 'Make Transaction' click /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnMakeTransaction_Click(object sender, EventArgs e) { ITransactionAccount transactionAccount = createTransactionAccount(); //IDepositAccount depositAccount = createDepositAccount(); ILoanAccount loanAccount = createLoanAccount(); ITransactionProcessor transactionProccesor = TransactionProcessor.GetTransactionProcessor(); CurrencyAmount currencyAmount = new CurrencyAmount(); currencyAmount.Amount = Convert.ToInt32(txtTransactionAmoun.Text); currencyAmount.Currency = txtTransactionCurrency.Text; //ovde dodavam event handler-i za event-ite transactionAccount.OnBalanceChanged += new BalanceChanged(OnBalanceChangeEventHandler); loanAccount.OnBalanceChanged += new BalanceChanged(OnBalanceChangeEventHandler); bool errorOccurred = false; string errorMsg = ""; TransactionStatus status = TransactionStatus.Failed; try { status = transactionProccesor.ProcessTransaction(TransactionType.Credit, currencyAmount, transactionAccount, loanAccount); } catch (ApplicationException ae) { errorOccurred = true; errorMsg = ae.Message; } finally { if (errorOccurred) { MessageBox.Show(errorMsg); } } if (status.Equals(TransactionStatus.Completed)) { lblTransactionStatus.Text = "Transaction Completed"; } else { lblTransactionStatus.Text = "Transaction Failed"; } //populateDepositAccount(depositAccount); //populateLoanAccount(loanAccount); //populateTransactionAccount(transactionAccount); //lblNumberTransactions.Text ="Number of transactions: " + transactionProccesor.TransactionCount; DisplayLastTransactionDetails(); }
/// <summary> /// Populate loan account details /// </summary> /// <param name="account"></param> private void populateLoanAccount(ILoanAccount account) { LoanAccount tmp = account as LoanAccount; lbl_LoanId.Text = tmp.Id.ToString(); lbl_LoanNumber.Text = tmp.Number; lbl_LoanCurrency.Text = tmp.Currency; lbl_LoanBalance.Text = tmp.LoanBalance.Amount.ToString() + " " + tmp.LoanBalance.Currency.ToString(); lbl_LoanTimePeriod.Text = tmp.Period.Period + " " + tmp.Period.Unit; lbl_LoanInterestRate.Text = tmp.Interest.Percent + " % " + tmp.Interest.Unit; lbl_LoanStartDate.Text = tmp.StartDate.ToString(); lbl_LoanEndDate.Text = tmp.EndDate.ToString(); }
static void Main(string[] args) { IList <string> acctNumbers = new List <string> { "CITI-123", "NATIONAL-234" }; foreach (var acctNo in acctNumbers) { ICreditUnionFactory creditUnionFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(acctNo); ISavingsAccount savingsAccount = creditUnionFactory.CreateSavingsAccount(); ILoanAccount loanAccount = creditUnionFactory.CreateLoanAccount(); Console.WriteLine($"your loan account is successfully created with AcctNO:{loanAccount.AcctNo} \n" + $"your savings account is successfully created with AcctNO:{savingsAccount.AcctNo} \n"); } Console.ReadLine(); }
static void Main(string[] args) { var arrayOfAccounts = new string[] { "Citi-001", "National-100", "No-002" }; foreach (var acc in arrayOfAccounts) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(acc.ToString()); if (anAbstractFactory == null) { Console.WriteLine("Sorry, account number entered is not accurate"); } else { ILoanAccount loanAccount = anAbstractFactory.CreateLoanAccount(); ISavingAccount savingAccount = anAbstractFactory.CreateSavingAccount(); } } Console.ReadLine(); }
static void Main(string[] args) { List <string> accntNumbers = new List <string> { "CITI-456", "NATIONAL-987", "CHASE-222" }; foreach (var account in accntNumbers) { ICreditUnionFactory anAbstractFactory = CreditUnionFactoryProvider.GetCreditUnionFactory(account); if (anAbstractFactory == null) { Console.WriteLine("Sorry. This credit union w/ account number" + " ' {0} ' is invalid.", (account)); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }
static void Main(string[] args) { List <string> accntNumbers = new List <string> { "CITI-123", "NATIONAL-456", "CHASE-789" }; for (int i = 0; i < accntNumbers.Count; i++) { ICreditUnionFactory anAbstractFactory = CreditUnionFactory.GetCreditUnionFactory(accntNumbers[i]); if (anAbstractFactory == null) { Console.WriteLine($"Sorry, This credit union account number '{accntNumbers[i]}' is invalid"); } else { ILoanAccount loan = anAbstractFactory.CreateLoanAccount(); ISavingsAccount savings = anAbstractFactory.CreateSavingsAccount(); } } Console.ReadLine(); }