AndreanJP

Class Deposit

Dec 15th, 2016
1,035
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.95 KB | None | 0 0
  1. public class Deposit extends Transaction
  2. {
  3.     private double amount;
  4.     private Keypad keypad;
  5.     private DepositSlot depositSlot;
  6.     private final static int CANCELED = 0;
  7.    
  8.     public Deposit( int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot )
  9.     {
  10.         super ( userAccountNumber, atmScreen, atmBankDatabase );
  11.         keypad = atmKeypad;
  12.         depositSlot = atmDepositSlot;
  13.     }
  14.    
  15.     @Override
  16.     public void execute()
  17.     {
  18.         BankDatabase bankDatabase = getBankDatabase();
  19.         Screen screen = getScreen();
  20.         amount = promptForDepositAmount();
  21.        
  22.         if ( amount != CANCELED )
  23.         {
  24.             screen.displayMessage("\nSilahkan masukan isi dari envelope deposito anda  " );
  25.             screen.displayDollarAmount( amount );
  26.             screen.displayMessageLine( "." );
  27.            
  28.             boolean envelopeReceived = depositSlot.isEnvelopeReceived();
  29.            
  30.             if ( envelopeReceived )
  31.             {
  32.                 screen.displayMessageLine( "\nEnvelope anda telah " + "diterima.\nNOTE:Uang yang didepositokan tidak akan " + "dapat digunakan sampai kita memverifikasi jumlah dari " + "uang tertutup dan check jelas anda." );
  33.                 bankDatabase.credit( getAccountNumber(), amount );
  34.             }
  35.             else
  36.             {
  37.                 screen.displayMessageLine( "\nAnda tidak memasukkan " + "envelope, sehingga ATM membatakan transaksi anda." );
  38.             }
  39.         }
  40.     }
  41.    
  42.     private double promptForDepositAmount()
  43.     {
  44.         Screen screen = getScreen();
  45.         screen.displayMessage( "\nSilahkan masukan jumlah deposit anda dalam " + "CENTS (atau 0 untuk membatalkan): " );
  46.         int input = keypad.getInput();
  47.        
  48.         if ( input == CANCELED )
  49.         return CANCELED;
  50.         else
  51.         {
  52.             return ( double ) input / 100;
  53.         }
  54.     }
  55. }
Add Comment
Please, Sign In to add comment