Fix al metodo acquistaProdotto()

Aggiunta visualizzazione del saldo dell'utente al menù principale
This commit is contained in:
Simone Argenziano
2013-12-18 17:55:12 +01:00
parent 9f73adac65
commit 5c11863e51
2 changed files with 20 additions and 12 deletions

View File

@@ -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;
}
}
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<StoricoItem> storico = userLogged.getStorico();
ArrayList<StoricoItem> 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;
}
}

View File

@@ -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