Advertisement
techno-

Payment.java

Nov 24th, 2022
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.84 KB | None | 0 0
  1. package e1;
  2.  
  3. import java.util.Calendar;
  4. import java.util.Date;
  5.  
  6. public class Payment implements EstadoOrder{
  7.     private static final Payment instancia = new Payment();
  8.     private Payment(){}
  9.     public static Payment getInstancia(){ return instancia; }
  10.  
  11.     @Override
  12.     public void anadirProducto(Order order, ProductoCantidad productoCantidad) {
  13.         //Ya no podemos eliminar productos
  14.     }
  15.  
  16.     @Override
  17.     public void eliminarProducto(Order order, ProductoCantidad productoCantidad) {
  18.         //Ya no podemos eliminar productos
  19.     }
  20.  
  21.     @Override
  22.     public void siguienteEstado(Order order) {
  23.         order.setEstado(Completed.getInstancia()); //REVISAR
  24.     }
  25.  
  26.     @Override
  27.     public void anteriorEstado(Order order) {
  28.         //No es posible volver al checkout
  29.     }
  30.  
  31.     @Override
  32.     public void modificarCantidadProducto(Order order, ProductoCantidad productoCantidad, int nuevaCantidad) {
  33.         //Ya no podemos modificar la cantidad de productos
  34.     }
  35.  
  36.  
  37.     @Override
  38.     public void pagar(Order order) {
  39.         //Ya hemos pagado
  40.     }
  41.  
  42.     @Override
  43.     public void cancelar(Order order) {
  44.         Date date = order.getFecha();
  45.         Calendar calendar = Calendar.getInstance();
  46.         calendar.setTime(date);
  47.         calendar.add(Calendar.HOUR_OF_DAY, 24);
  48.  
  49.         Date ahora = new Date();
  50.  
  51.         if(ahora.equals(date) || ahora.after(date)) {
  52.             order.setConfirmado(false);
  53.             order.setEstado(Cancelled.getInstancia());
  54.         }else{
  55.             System.out.println("No se puede cancelar, ya han pasado 24 horas\n");
  56.         }
  57.     }
  58.  
  59.     @Override
  60.     public void screenInfo(Order order) {
  61.         System.out.println("Order number: " + order.getOrdernumber() + "\nPhase: Paid order: " + order.getLista().size() + " products -- " + order.getFecha() + "\n");
  62.     }
  63. }
  64.  
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement