Advertisement
Ramdan51-062

Deposit

Oct 26th, 2017
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 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.        
  12.         keypad = atmKeypad;
  13.         depositSlot = atmDepositSlot;
  14.     }
  15.  
  16.     @Override
  17.     public void execute()
  18.     {
  19.         BankDatabase bankDatabase = getBankDatabase();
  20.         Screen screen = getScreen();
  21.         amount = promptForDepositAmount();
  22.        
  23.         if(amount != CANCELED)
  24.         {
  25.             screen.displayMessage("\nPlease insert a deposit envelope.");
  26.             screen.displayDollarAmount(amount);
  27.             screen.displayMessageLine(".");
  28.             boolean envelopeReceived = depositSlot.isEnvelopeReceived();
  29.            
  30.             if(envelopeReceived)
  31.             {
  32.                 screen.displayMessageLine("\nYour envelope has been " + "received.\nNOTE: The money just deposited will not " +
  33.                 "be available until we verify the amount of any " + "enclosed cash and your checks clear.");
  34.                 bankDatabase.credit(getAccountNumber(), amount);
  35.             }
  36.             else screen.displayMessageLine("\nYou did not insert an " + "envelope, so the transaction has been canceled.");
  37.         }
  38.         else screen.displayMessageLine("Cancelling transaction ... ");
  39.     }
  40.    
  41.     private double promptForDepositAmount()
  42.     {
  43.         Screen screen = getScreen();
  44.        
  45.         screen.displayMessage("Please enter a deposit amount in " + "cents. (or 0 to cancel)");
  46.         int input = keypad.getInput();
  47.        
  48.         if(input == CANCELED)
  49.             return CANCELED;
  50.         else
  51.             return (double) input / 100;
  52.            
  53.         }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement