static void Main(string[] args) { /// ArgumentNullException Add in collection bank account. Console.WriteLine("ArgumentNullException Add in collection bank account."); Console.WriteLine(); try { bankService.AddBankAccount(null); } catch (Exception m) { Console.WriteLine(m.Message); } Console.WriteLine(); /// Add new bank account Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Add new bank account"); Console.WriteLine(); bankService.AddBankAccount(baseAccount); bankService.AddBankAccount(goldAccount); bankService.AddBankAccount(plattinumAccount); foreach (var account in bankService.Accounts) { Console.WriteLine(account); } Console.WriteLine(); /// Deposit acounts Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Deposit acounts"); Console.WriteLine(); decimal amount = 500M; for (int i = 0; i < bankService.Accounts.Count; i++) { bankService.Accounts[i].Amount = bankService.Deposit(bankService.Accounts[i], amount); bankService.Accounts[i].ReplenishmentBonuses(amount); amount += 500M; Console.WriteLine(bankService.Accounts[i]); } Console.WriteLine(); /// Write off Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Write off"); Console.WriteLine(); decimal amount1 = 1000M; for (int i = 0; i < bankService.Accounts.Count; i++) { if (bankService.Accounts[i].IsCheckAmount(amount1)) { Console.WriteLine("insufficient funds in the account!"); Console.WriteLine(bankService.Accounts[i]); Console.WriteLine(amount1); continue; } bankService.Accounts[i].Amount = bankService.Withdraw(bankService.Accounts[i], amount1); amount += 200M; Console.WriteLine(bankService.Accounts[i]); } Console.WriteLine(); /// Write off with bonus Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Write off with bonus"); Console.WriteLine(); decimal amount2 = 200M; decimal bonus = 20M; for (int i = 0; i < bankService.Accounts.Count; i++) { if (bankService.Accounts[i].IsCheckAmount(amount2)) { Console.WriteLine("insufficient funds in the account!"); Console.WriteLine(bankService.Accounts[i]); Console.WriteLine(amount1); continue; } if (bankService.Accounts[i].IsCheckBonuses(bonus)) { Console.WriteLine("insufficient bonuses in the account!"); Console.WriteLine(bankService.Accounts[i]); Console.WriteLine(bonus); continue; } bankService.Accounts[i].Amount = bankService.WithdrawBonuses(bankService.Accounts[i], amount2, bonus); bankService.Accounts[i].BonusPoints -= bonus; amount += 200M; bonus += 10; Console.WriteLine(bankService.Accounts[i]); } Console.WriteLine(); /// Close acoount Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Write off with bonus"); Console.WriteLine(); bankService.Accounts[0].Status = false; foreach (var account in bankService.Accounts) { if (account.Status == false) { Console.WriteLine(account); } } Console.WriteLine(); ///write in file Console.WriteLine("####################################################"); Console.WriteLine(); Console.WriteLine("Write in file"); Console.WriteLine(); try { bankService.SaveToFile(); Console.WriteLine("Save ok!"); } catch (Exception) { } Console.WriteLine(); Console.WriteLine("Add new bank account"); Console.WriteLine(); bankService.AddBankAccount(baseAccount); bankService.AddBankAccount(goldAccount); Console.WriteLine(); foreach (var account in bankService.Accounts) { Console.WriteLine(account); } Console.WriteLine(); Console.WriteLine("Read of file"); try { bankService.ReadFile(); Console.WriteLine("Read ok!"); } catch (Exception) { throw; } Console.WriteLine(); foreach (var account in bankService.Accounts) { Console.WriteLine(account); } Console.ReadKey(); }