static void Main(string[] args) { BankAccountStorage storage = new BankAccountStorage("BankAccountStorage.bin"); BankAccountService service = new BankAccountService(); BankAccount account1 = new BankAccount("454545nn45", "Ivan", "Petrov", 596.30m, 0.15, BancAccountType.Gold); BankAccount account2 = new BankAccount("56dj8533d2", "Sergei", "Sidorov", 0m, 0, BancAccountType.Base); BankAccount account3 = new BankAccount("45jnd45snn", "Elena", "Ivanova", 100m, 1, BancAccountType.Platinum); List <BankAccount> bankAccounts = new List <BankAccount>() { account1, account2, account3 }; ListInput(bankAccounts); service.WriteAccounts(storage, bankAccounts); service.WithdrawMoney(100m, bankAccounts[0]); service.DepositMoney(10m, bankAccounts[1]); service.CloseAccount(bankAccounts[2]); ListInput(bankAccounts); bankAccounts = service.ReadAccounts(storage); ListInput(bankAccounts); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("To String tests"); BankAccount bankAccount1 = new BankAccount("BY20OLMP31350000001000000933", "Ivanov Ivan", 100M, 0.8f, TypeBankAccount.Base); BankAccount bankAccount2 = new BankAccount("BY20OLMP31350000001011110933", "Petrov Petr", 800M, 10f, TypeBankAccount.Gold); Console.WriteLine(bankAccount1); Console.WriteLine(); Console.WriteLine(bankAccount2); Console.WriteLine(); Console.WriteLine("Add new Bank Account"); BankAccount bankAccount3 = new BankAccount("BY20OLMP31350000001000111933", "Sidorov Ivan", 50.145M, 13.8f, TypeBankAccount.Platinum); Console.WriteLine("Get all Accounts from storage"); BankAccountStorage storage = new BankAccountStorage("file.bin"); BankAccountService service = new BankAccountService(storage); try { service.AddNewAccount(bankAccount1); service.AddNewAccount(bankAccount2); service.AddNewAccount(bankAccount3); } catch (BankAccountExistsException exception) { Console.WriteLine(); Console.WriteLine($"Error: {exception.Message}"); } List <BankAccount> accounts = service.GetAllAccounts(); foreach (var account in accounts) { Console.WriteLine(account); } Console.WriteLine(); Console.WriteLine("Try add account with same IBAN"); BankAccount bankAccountWrong = new BankAccount("BY20OLMP31350000001000111933", "Kotin Ann", 200M, 0f, TypeBankAccount.Base); try { service.AddNewAccount(bankAccountWrong); } catch (BankAccountExistsException exception) { Console.WriteLine(); Console.WriteLine($"Error: {exception.Message}"); } Console.WriteLine(); Console.WriteLine("Change Balance and try withdraw a large amount"); try { service.IncreaseBalance(bankAccount1, 200M); service.WithdrawBalance(bankAccount2, 10M); service.WithdrawBalance(bankAccount3, 100000M); } catch (WrongAmountException exception) { Console.WriteLine(); Console.WriteLine($"Error: {exception.Message}"); } Console.WriteLine(); Console.WriteLine("Get change list Bank Account"); accounts = service.GetAllAccounts(); foreach (var account in accounts) { Console.WriteLine(account); } Console.WriteLine(); Console.WriteLine("Try change balance of a non-existent account:"); BankAccount bankAccountWrong2 = new BankAccount("BY20OLMP31350000001000111930", "Kotin Ann", 200M, 0f, TypeBankAccount.Base); try { service.WithdrawBalance(bankAccountWrong2, 100M); } catch (BankAccountDoesNotExistException exception) { Console.WriteLine(); Console.WriteLine($"Error: {exception.Message}"); } Console.WriteLine("Try to close account which does not exist"); BankAccount bankAccountWrong3 = new BankAccount("BY20OLMP31350000001000111930", "lp", 1000M, 0f, TypeBankAccount.Base); try { service.CloseAccount(bankAccountWrong3); } catch (BankAccountDoesNotExistException exception) { Console.WriteLine(); Console.WriteLine($"Error: {exception.Message}"); } Console.WriteLine(); Console.WriteLine("Close two Bank accounts and show list accounts"); service.CloseAccount(bankAccount1); service.CloseAccount(bankAccount2); accounts = service.GetAllAccounts(); foreach (var account in accounts) { Console.WriteLine(account); } Console.ReadLine(); }