Advertisement
arafaee

Deposit.java

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