Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package e1;
- import java.util.Calendar;
- import java.util.Date;
- public class Payment implements EstadoOrder{
- private static final Payment instancia = new Payment();
- private Payment(){}
- public static Payment getInstancia(){ return instancia; }
- @Override
- public void anadirProducto(Order order, ProductoCantidad productoCantidad) {
- //Ya no podemos eliminar productos
- }
- @Override
- public void eliminarProducto(Order order, ProductoCantidad productoCantidad) {
- //Ya no podemos eliminar productos
- }
- @Override
- public void siguienteEstado(Order order) {
- order.setEstado(Completed.getInstancia()); //REVISAR
- }
- @Override
- public void anteriorEstado(Order order) {
- //No es posible volver al checkout
- }
- @Override
- public void modificarCantidadProducto(Order order, ProductoCantidad productoCantidad, int nuevaCantidad) {
- //Ya no podemos modificar la cantidad de productos
- }
- @Override
- public void pagar(Order order) {
- //Ya hemos pagado
- }
- @Override
- public void cancelar(Order order) {
- Date date = order.getFecha();
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.add(Calendar.HOUR_OF_DAY, 24);
- Date ahora = new Date();
- if(ahora.equals(date) || ahora.after(date)) {
- order.setConfirmado(false);
- order.setEstado(Cancelled.getInstancia());
- }else{
- System.out.println("No se puede cancelar, ya han pasado 24 horas\n");
- }
- }
- @Override
- public void screenInfo(Order order) {
- System.out.println("Order number: " + order.getOrdernumber() + "\nPhase: Paid order: " + order.getLista().size() + " products -- " + order.getFecha() + "\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement