diff --git a/it/unisa/info13d/GestioneCatalogo/Catalogo.java b/it/unisa/info13d/GestioneCatalogo/Catalogo.java index ec41005..8cc1df4 100644 --- a/it/unisa/info13d/GestioneCatalogo/Catalogo.java +++ b/it/unisa/info13d/GestioneCatalogo/Catalogo.java @@ -248,8 +248,8 @@ public class Catalogo{ if((dealVacanza.eAcquistabile())) { visualizzaVacanza(dealVacanza); - continue; } + continue; } if(deal instanceof BeniDiConsumo) { @@ -257,17 +257,17 @@ public class Catalogo{ if((dealBene.eAcquistabile())) { visualizzaBene(dealBene); - continue; } + continue; } - else if(deal instanceof CeneInRistoranti) + if(deal instanceof CeneInRistoranti) { CeneInRistoranti dealCena = (CeneInRistoranti)deal; if((dealCena.eAcquistabile())) { visualizzaCena(dealCena); - continue; } + continue; } } } @@ -339,16 +339,15 @@ public class Catalogo{ String idProd = inputData.nextLine(); int idDel = Integer.parseInt(idProd); - Entry userLogged = Access.get_user_data(user); boolean trovato=false; - ArrayList storico = userLogged.getStorico(); + ArrayList storico = loggedUser.getStorico(); for(Utilizzabile dealsc: catalogoOfferte) { if((dealsc instanceof Vacanze) && ((Vacanze)dealsc).getIdViaggio()==idDel) { Vacanze dealVacanza = (Vacanze)dealsc; - if(dealVacanza.eAcquistabile()) + if(dealVacanza.eAcquistabile() && loggedUser.getBalance()>=dealVacanza.getPrezzoPSingola()) { trovato=true; storico.add(new StoricoItem("Viaggio: "+dealVacanza.getLocalitaViaggio(), new GregorianCalendar() ,dealVacanza.getPrezzoPSingola())); @@ -356,17 +355,19 @@ public class Catalogo{ loggedUser.setBalance((dealVacanza.getPrezzoPSingola()*(-1))); store_data(); Access.replace_data(user, loggedUser); + System.out.println("************************************\nAcquisto completato con successo! \n************************************\nSaldo Attuale:"+loggedUser.getBalance()); } else { - System.out.println("Il prodotto non e' acquistabile"); + System.out.println("Il prodotto non e' acquistabile e/o Credito insufficiente, ricaricare"); + trovato=true; break; } } if((dealsc instanceof BeniDiConsumo) && ((BeniDiConsumo) dealsc).getIdBene()==idDel) { BeniDiConsumo dealBene = (BeniDiConsumo)dealsc; - if(dealBene.eAcquistabile()) + if(dealBene.eAcquistabile() && loggedUser.getBalance()>=dealBene.getPrezzoBene()) { trovato=true; storico.add(new StoricoItem("Prodotto: "+dealBene.getDescrizioneBene(), new GregorianCalendar() ,dealBene.getPrezzoBene())); @@ -374,10 +375,12 @@ public class Catalogo{ loggedUser.setBalance((dealBene.getPrezzoBene()*(-1))); Access.replace_data(user, loggedUser); store_data(); + System.out.println("************************************\nAcquisto completato con successo! \n************************************\nSaldo Attuale:"+loggedUser.getBalance()); } else { - System.out.println("Il prodotto non e' acquistabile"); + System.out.println("Il prodotto non e' acquistabile e/o Credito insufficiente, ricaricare"); + trovato=true; break; } @@ -385,7 +388,7 @@ public class Catalogo{ if( (dealsc instanceof CeneInRistoranti) && ((CeneInRistoranti) dealsc).getIdCena()==idDel) { CeneInRistoranti dealCena = (CeneInRistoranti)dealsc; - if(dealCena.eAcquistabile()) + if(dealCena.eAcquistabile() && loggedUser.getBalance()>=dealCena.getCostoPerPersona()) { trovato=true; storico.add(new StoricoItem("Cena ristorante "+dealCena.getNomeRistorante()+" "+dealCena.getDescrizione_cena(), new GregorianCalendar() ,dealCena.getCostoPerPersona())); @@ -393,10 +396,12 @@ public class Catalogo{ loggedUser.setBalance((dealCena.getCostoPerPersona()*(-1))); Access.replace_data(user, loggedUser); store_data(); + System.out.println("*************************************\nAcquisto completato con successo! \n************************************\nSaldo Attuale:"+loggedUser.getBalance()); } else { - System.out.println("Il prodotto non e' acquistabile"); + System.out.println("Il prodotto non e' acquistabile e/o Credito insufficiente, ricaricare"); + trovato=true; break; } } diff --git a/it/unisa/info13d/GestioneCatalogo/ClientSession.java b/it/unisa/info13d/GestioneCatalogo/ClientSession.java index c233204..c42f8f9 100644 --- a/it/unisa/info13d/GestioneCatalogo/ClientSession.java +++ b/it/unisa/info13d/GestioneCatalogo/ClientSession.java @@ -2,6 +2,7 @@ package it.unisa.info13d.GestioneCatalogo; import it.unisa.info13d.Articoli.Utilizzabile; import it.unisa.info13d.Login.Access; +import it.unisa.info13d.Login.Entry; import it.unisa.info13d.Utility.ReShow; import java.io.FileNotFoundException; @@ -22,7 +23,9 @@ public class ClientSession { * @throws FileNotFoundException */ public static void showClientMenu(Catalogo catalogo, ReShow r, String username) throws FileNotFoundException, ClassNotFoundException, IOException { + Entry loggedUser = Access.get_user_data(username); System.out.println("------------ Menu operazioni ------------"); + System.out.println("* Salto totale:"+loggedUser.getBalance()+" *"); System.out.println("1 --> Acquista Credito"); //Si acquista credito per l'acquisto dei prodotti System.out.println("2 --> Visualizza Offerte"); //Visualizza le offerte acquistabili System.out.println("3 --> Acquista"); //Acquisto di un offerta