- import java.util.Vector;
- import javax.swing.JOptionPane;
- public class Bank {
- private static float bankBalance;
- private static Client[]bankClients;
- private static Logger logService;
- private static String accountUpdater;
- private static Bank bankInstance=null;
- private Bank() {
- this.bankBalance=bankBalance;
- this.bankClients=bankClients;
- Client[] BankClients = new Client[100];
- bankBalance=0;
- this.logService=logService;
- }
- public static Bank getInstance(){
- if(bankInstance==null){
- bankInstance = new Bank();
- }
- return bankInstance;
- }
- public static float getBalance(){
- float totalClientBalance=0;
- for(int index=0; index<100; index++){
- totalClientBalance += bankClients[index].getClientBalance() + bankClients[index].getFortune();
- }
- return bankBalance;
- }
- public void setBalance(float amount){
- bankBalance += amount;
- }
- public static void addClient(){
- Client newClient;
- String input= JOptionPane.showInputDialog("What kind of client would you like to add R=regular, G=gold, P=platinum ?");
- while (!input.equalsIgnoreCase("R") && !input.equalsIgnoreCase("G") && !input.equalsIgnoreCase("P")){
- JOptionPane.showInputDialog(null, "Error.Select R, G or P");
- input = JOptionPane.showInputDialog("What kind of client would you like to add R=regular, G=gold, P=platinum ?");
- }
- int id=0;
- while ((id<100)&&(bankClients[id]!= null)){
- id++;
- }
- if(input.equalsIgnoreCase("R")){
- String inputName = JOptionPane.showInputDialog("Enter new client name");
- String inputBalance = JOptionPane.showInputDialog("Enter amount of money to open account");
- Float f = new Float(inputBalance);
- newClient = new RegularClient (id, inputName, f);
- }
- /*if (ID<100)
- {
- bankClients[ID]=newClient ;
- Log log = new Log (0, newClient.getClientId(), "client was added" );
- Logger logger = new Logger();
- logger.log(log);
- }*/
- }
- public void removeClient(int ClientId){
- int index=0;
- while (bankClients[index].getClientId()!= ClientId) {
- index++;
- }
- // ערך שאותו הבנק מאבד עם מחיקת הלקוח- המורכב מעו"ש וערך סך כל החשבונות
- float lostBalance = bankClients[index].getClientBalance()+bankClients[index].getFortune();
- bankBalance -= lostBalance;
- bankClients[index] = null;
- Log log = new Log(0, bankClients[index].getClientId(), "Client removed");
- Logger.log(log);
- }
- public void getClients() {
- printSpace();
- System.out.println("Id\t Client Type\t Name\t Interest\t Comission");
- System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
- for(int index=0; index<bankClients.length; index++){
- System.out.println("Id(" + (index+1)+ ")\t" + bankClients[index]);
- }
- }
- public void printSpace(){
- for(int index=0; index<5; index++){
- System.out.println();
- }
- }
- public void printLogs(){
- System.out.println();
- }
- public void startAccountUpdater(){
- }
- public void printClientList(){
- System.out.println();
- }
- }