Aggiunti i javadoc ai metodi e alle classi
Apportate leggeri cambiamenti alla grafica
This commit is contained in:
@@ -33,7 +33,7 @@ public class AdminSession {
|
||||
System.out.println("5 --> Esci");
|
||||
|
||||
String sceltaMenu;
|
||||
System.out.print("Operazione: ");
|
||||
System.out.print("\nOperazione: ");
|
||||
Scanner inputData = new Scanner(System.in);
|
||||
sceltaMenu = inputData.nextLine();
|
||||
//Controllo input. La scelta deve essere obbligatoriamente compresa tra 1 e 4
|
||||
@@ -62,6 +62,5 @@ public class AdminSession {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,12 @@ import java.text.SimpleDateFormat;
|
||||
*/
|
||||
public class Catalogo{
|
||||
|
||||
/**
|
||||
* Il costruttore definisce un nuovo catalogo nel caso non sia gia presente.
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
* @throws ClassNotFoundException
|
||||
*/
|
||||
public Catalogo() throws FileNotFoundException,IOException,ClassNotFoundException
|
||||
{
|
||||
File f_data = new File("cat_db");
|
||||
@@ -46,6 +52,12 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo si occupa di serializzare il catalogo (per garantire un minimo di sicurezza) e salvarlo su disco
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
* @throws ClassNotFoundException
|
||||
*/
|
||||
void store_data()throws FileNotFoundException,IOException,ClassNotFoundException{
|
||||
File f_data = new File("cat_db");
|
||||
ObjectOutputStream writer = new ObjectOutputStream(new FileOutputStream(f_data));
|
||||
@@ -70,6 +82,7 @@ public class Catalogo{
|
||||
else
|
||||
ClientSession.showClientMenu(this,r, username);
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo permette l'inserimento di un nuovo deal all'interno del catalogo
|
||||
* @throws ParseException
|
||||
@@ -98,81 +111,69 @@ public class Catalogo{
|
||||
switch(sceltaMenu)
|
||||
{
|
||||
case "1":
|
||||
System.out.println("Localita: ");
|
||||
System.out.println("---------- Nuova Offerta Vacanza ----------");
|
||||
System.out.print("Localita: ");
|
||||
String localita = inputData.nextLine();
|
||||
|
||||
System.out.println("Data Partenza (GG/MM/AAAA): ");
|
||||
System.out.print("Data Partenza (GG/MM/AAAA): ");
|
||||
String data = inputData.nextLine();
|
||||
String temp[];
|
||||
String marcatore="/";
|
||||
temp = data.split(marcatore);
|
||||
GregorianCalendar dataPartenza = new GregorianCalendar((Integer.parseInt(temp[2])),(Integer.parseInt(temp[1]))-1,(Integer.parseInt(temp[0])));
|
||||
/*DateFormat format = new SimpleDateFormat( "dd/MM/yyyy" );
|
||||
Date date = format.parse(inputData.nextLine());
|
||||
GregorianCalendar dataPartenza = new GregorianCalendar();
|
||||
dataPartenza.setTime(date);*/
|
||||
|
||||
System.out.println("Data Scadenza offerta (GG/MM/AAAA): ");
|
||||
|
||||
System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
|
||||
String data2 = inputData.nextLine();
|
||||
String temp2[];
|
||||
temp2 = data2.split(marcatore);
|
||||
GregorianCalendar dataScad = new GregorianCalendar((Integer.parseInt(temp2[2])),(Integer.parseInt(temp2[1]))-1,(Integer.parseInt(temp2[0])));
|
||||
|
||||
/*date = format.parse(inputData.nextLine());
|
||||
GregorianCalendar dataScadVacanza = new GregorianCalendar();
|
||||
dataScadVacanza.setTime(date);*/
|
||||
|
||||
System.out.println("Prezzo singola persona: ");
|
||||
|
||||
System.out.print("Prezzo singola persona: ");
|
||||
String prezzo = inputData.nextLine();
|
||||
double prezzoPSing = Double.parseDouble(prezzo);
|
||||
|
||||
|
||||
|
||||
|
||||
catalogoOfferte.add(new Vacanze(Global.get_next_id(), localita, dataPartenza, dataScad, prezzoPSing));
|
||||
store_data();
|
||||
break;
|
||||
case "2":
|
||||
System.out.println("Ristorante: ");
|
||||
System.out.println("---------- Nuova Offerta Cena ----------");
|
||||
System.out.print("Ristorante: ");
|
||||
String ristorante = inputData.nextLine();
|
||||
|
||||
System.out.println("Localita: ");
|
||||
System.out.print("Localita: ");
|
||||
String localitaCena = inputData.nextLine();
|
||||
|
||||
System.out.println("Descrizione: ");
|
||||
System.out.print("Descrizione: ");
|
||||
String descrizioneCena = inputData.nextLine();
|
||||
|
||||
System.out.println("Costo a Persona: ");
|
||||
System.out.print("Costo a Persona: ");
|
||||
String prezzoCena = inputData.nextLine();
|
||||
double prezzoPSingCena = Double.parseDouble(prezzoCena);
|
||||
|
||||
System.out.println("Data Scadenza offerta (GG/MM/AAAA): ");
|
||||
String data3 = inputData.nextLine();
|
||||
System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
|
||||
String data3 = inputData.nextLine();
|
||||
String temp3[];
|
||||
String marcatore2="/";
|
||||
temp3 = data3.split(marcatore2);
|
||||
GregorianCalendar dataScadCena = new GregorianCalendar((Integer.parseInt(temp3[2])),(Integer.parseInt(temp3[1]))-1,(Integer.parseInt(temp3[0])));
|
||||
/*DateFormat format2 = new SimpleDateFormat( "dd/MM/yyyy" );
|
||||
date = format2.parse(inputData.nextLine());
|
||||
GregorianCalendar dataScadCena = new GregorianCalendar();
|
||||
dataScadCena.setTime(date);*/
|
||||
|
||||
System.out.println("Cene da Vendere: ");
|
||||
|
||||
System.out.print("Cene da Vendere: ");
|
||||
String nCene = inputData.nextLine();
|
||||
int ceneDaVendere = Integer.parseInt(nCene);
|
||||
|
||||
|
||||
catalogoOfferte.add(new CeneInRistoranti(Global.get_next_id(), ristorante, localitaCena, descrizioneCena, prezzoPSingCena, dataScadCena, ceneDaVendere));
|
||||
store_data();
|
||||
break;
|
||||
case "3":
|
||||
System.out.println("Descrizione: ");
|
||||
System.out.println("---------- Nuova Offerta Bene ----------");
|
||||
System.out.print("Descrizione: ");
|
||||
String descrizioneBene = inputData.nextLine();
|
||||
|
||||
System.out.println("Prezzo Bene: ");
|
||||
System.out.print("Prezzo Bene: ");
|
||||
String prezzoBene = inputData.nextLine();
|
||||
int prezzo_bene = Integer.parseInt(prezzoBene);
|
||||
|
||||
System.out.println("Quantita in magazzino: ");
|
||||
System.out.print("Quantita in magazzino: ");
|
||||
String qntMag = inputData.nextLine();
|
||||
int qnt_mag = Integer.parseInt(prezzoBene);
|
||||
|
||||
@@ -183,9 +184,15 @@ public class Catalogo{
|
||||
IdCounter.save_counter();
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo permette la cancellazione di un prodotto dal catalogo
|
||||
* @throws FileNotFoundException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
public void cancellaProdotto() throws FileNotFoundException, ClassNotFoundException, IOException
|
||||
{
|
||||
System.out.println("------ Lista Prodotti -----");
|
||||
System.out.println("------ Lista Prodotti -----\n--");
|
||||
for(Utilizzabile deal: catalogoOfferte)
|
||||
{
|
||||
if(deal instanceof Vacanze)
|
||||
@@ -234,6 +241,10 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param a
|
||||
*/
|
||||
public void print_cat_admin (ArrayList<Utilizzabile> a){
|
||||
for(Utilizzabile deal: a)
|
||||
{
|
||||
@@ -268,6 +279,7 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void print_cat_user (ArrayList<Utilizzabile> a, String location_user_to_compare){
|
||||
for(Utilizzabile deal: a)
|
||||
{
|
||||
@@ -302,19 +314,24 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param in - data da convertire in millisecondi
|
||||
* @return - il numero in millisencodi della data passata alla funzione.
|
||||
*/
|
||||
protected long convert_calendar_to_int (GregorianCalendar in){
|
||||
return in.getTimeInMillis();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza le offerte attive del catalogo
|
||||
* @throws IOException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws FileNotFoundException
|
||||
* Questo metodo visualizza le offerte attive del catalogo. Viene differenziata la visualizzazione in base all'utente.
|
||||
* - L'amministratore avra' la possibilita' di scegliere l'ordinamento in base dalla data di scadenza o ID prodotti
|
||||
* - L'utente visualizzera' le offerte attive senza possibilita' di ordinamento
|
||||
*
|
||||
* @param user - username utente
|
||||
* @throws FileNotFoundException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
public void offerteAttive(String user) throws FileNotFoundException, ClassNotFoundException, IOException
|
||||
{
|
||||
@@ -328,9 +345,11 @@ public class Catalogo{
|
||||
System.out.println("2 --> Ordina Per ID");
|
||||
|
||||
String choice;
|
||||
System.out.print("Scelta operazione: ");
|
||||
choice = reader.nextLine();
|
||||
for ( ; !(choice.equals("1")) && !(choice.equals("2")) ;){
|
||||
System.out.println("Scelta Errata. Riprovare");
|
||||
System.out.print("Scelta operazione: ");
|
||||
choice = reader.nextLine();
|
||||
}
|
||||
|
||||
@@ -761,36 +780,34 @@ public class Catalogo{
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza lo storico degli ordini effettuati dall'utente
|
||||
* Questo metodo visualizza lo storico degli ordini effettuati dall'utente. rende possibile l'ordinamento in base alla data di scadenza o per prezzo.
|
||||
*
|
||||
* @param user
|
||||
* @throws FileNotFoundException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
|
||||
public void visualizzaStorico(String user) throws FileNotFoundException, ClassNotFoundException, IOException
|
||||
{
|
||||
Scanner reader = new Scanner(System.in);
|
||||
|
||||
|
||||
System.out.println("1 --> Ordina Per Data di Acquisto");
|
||||
System.out.println("2 --> Ordina Per Costo Prodotto");
|
||||
|
||||
String choice;
|
||||
System.out.print("Opzione: ");
|
||||
choice = reader.nextLine();
|
||||
for ( ; !(choice.equals("1")) && !(choice.equals("2")) ;){
|
||||
System.out.println("Scelta Errata. Riprovare");
|
||||
System.out.print("Opzione: ");
|
||||
choice = reader.nextLine();
|
||||
}
|
||||
|
||||
Entry userLogged = Access.get_user_data(user);
|
||||
System.out.println("########### STORICO ###########");
|
||||
System.out.println("---------- STORICO ----------");
|
||||
ArrayList<StoricoItem> storico = userLogged.getStorico();
|
||||
|
||||
if (choice.equals("1")){
|
||||
|
||||
|
||||
class CompareDataAcquisto implements Comparator<StoricoItem> {
|
||||
|
||||
@Override
|
||||
@@ -799,7 +816,6 @@ public class Catalogo{
|
||||
if (e1.getData_acquisto().getTimeInMillis() < e2.getData_acquisto().getTimeInMillis())
|
||||
return -1;
|
||||
return 1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -816,16 +832,11 @@ public class Catalogo{
|
||||
if (e1.getPrezzo() < e2.getPrezzo())
|
||||
return -1;
|
||||
return 1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(storico,new ComparePrezzo());
|
||||
print_storico (storico);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void print_storico (ArrayList<StoricoItem> in){
|
||||
@@ -841,7 +852,13 @@ public class Catalogo{
|
||||
|
||||
}
|
||||
|
||||
public void visualizzaVacanza(Vacanze dealVacanza)
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza una vacanza, descrivendone i suoi dati.
|
||||
*
|
||||
* @param dealVacanza - oggetto di tipo Vacanze che rappresenta l'offerta della Vacanza da visualizzare
|
||||
*/
|
||||
public void visualizzaVacanza(Vacanze dealVacanza)
|
||||
{
|
||||
GregorianCalendar partenza = dealVacanza.getDataPartenzaViaggio();
|
||||
int giornoP = partenza.get(Calendar.DAY_OF_MONTH);
|
||||
@@ -854,12 +871,24 @@ public class Catalogo{
|
||||
|
||||
System.out.println("#Vacanza-"+dealVacanza.getIdViaggio()+"# Scadenza: "+giornoS+"/"+(meseS+1)+"/"+annoS+"| Localita: "+dealVacanza.getLocalitaViaggio()+"| Partenza: "+giornoP+"/"+(meseP+1)+"/"+annoP+"| Prezzo Pers. Singola: "+dealVacanza.getPrezzoPSingola()+"\n--");
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza un Bene di consumo, descrivendone i suoi dati.
|
||||
*
|
||||
* @param dealBene - oggetto di tipo beniDiConsumo che rappresenta l'offerta del bene da visualizzare
|
||||
*/
|
||||
|
||||
public void visualizzaBene(BeniDiConsumo dealBene)
|
||||
{
|
||||
System.out.println("#Articolo-"+dealBene.getIdBene()+"# Descrizione: "+dealBene.getDescrizioneBene()+" Prezzo: "+dealBene.getPrezzoBene()+"| Quantita in magazzino: "+dealBene.getBeniInStock()+"\n--");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Questo metodo visualizza una cena, descrivendone i suoi dati.
|
||||
* @param dealCena - oggetto di tipo CeneInRistoranti che rappresenta l'offerta della cena da visualizzare
|
||||
*/
|
||||
public void visualizzaCena(CeneInRistoranti dealCena)
|
||||
{
|
||||
GregorianCalendar scadenzaCena = dealCena.getDataScadenzaOffertaCena();
|
||||
@@ -868,16 +897,17 @@ public class Catalogo{
|
||||
int annoSC = scadenzaCena.get(Calendar.YEAR);
|
||||
System.out.println("#Cena-"+dealCena.getIdCena()+"# Scadenza:"+giornoSC+"/"+(meseSC+1)+"/"+annoSC+"| Ristorante: "+dealCena.getNomeRistorante()+"| Indirizzo: "+dealCena.getLuogo()+"| Descrizione: "+dealCena.getDescrizione_cena()+"| Costo: "+dealCena.getCostoPerPersona()+"| Disponibilita:"+dealCena.getNumCenedaVendere()+"cene"+"\n--");
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return - restituisce il catalogo delle offerte
|
||||
*/
|
||||
|
||||
public ArrayList<Utilizzabile> getCatalogo() {
|
||||
return catalogoOfferte;
|
||||
}
|
||||
|
||||
public boolean testInputData()
|
||||
{
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private ArrayList<Utilizzabile> catalogoOfferte;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ClientSession {
|
||||
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("-- 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
|
||||
@@ -60,8 +60,6 @@ public class ClientSession {
|
||||
case "5":
|
||||
r.reshow = false;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user