Ultimato tutta la gui e tutti i metodi. C'è da sistemare qualche eccezione sugli input ma dovrebbe andare tutto. Fase di debug On!!!

This commit is contained in:
2014-01-21 15:28:26 +01:00
parent 54d687f8b3
commit 1a7c89eaac
8 changed files with 686 additions and 146 deletions

View File

@@ -169,9 +169,9 @@ public class CeneInRistoranti extends Utilizzabile implements Serializable{
if( diffGiorni<=7 )
{
if( ceneVendute > ( numCenedaVendere/2 ) )
return costoPerPersona - (costoPerPersona* ( 0.1 )) - (costoPerPersona* ( 0.1 )) ; //generico sconto ultima sett + se 50% vendute
return costoPerPersona - (costoPerPersona* ( Global.getSconto_ultima_settimana() )) - (costoPerPersona* ( Global.getSconto_cene_sup_50() )) ; //generico sconto ultima sett + se 50% vendute
else
return costoPerPersona - (costoPerPersona * ( 0.1 )); //generico sconto ultima sett
return costoPerPersona - (costoPerPersona * ( Global.getSconto_ultima_settimana() )); //generico sconto ultima sett
}
else
return costoPerPersona;

View File

@@ -50,6 +50,14 @@ public class Global {
sconto_per_min_num_articoli = sconto;
}
public static void setSconto_ultima_settimana(double sconto_ultima_settimana) {
Global.sconto_ultima_settimana = sconto_ultima_settimana;
}
public static void setSconto_cene_sup_50(double sconto_cene_sup_50) {
Global.sconto_cene_sup_50 = sconto_cene_sup_50;
}
public static int getMin_num_articoli_per_sconto() {
return min_num_articoli_per_sconto;
}
@@ -58,9 +66,20 @@ public class Global {
return sconto_per_min_num_articoli;
}
public static double getSconto_ultima_settimana() {
return sconto_ultima_settimana;
}
public static double getSconto_cene_sup_50() {
return sconto_cene_sup_50;
}
private static int min_num_articoli_per_sconto = 0;
private static double sconto_per_min_num_articoli = 0;
private static double sconto_ultima_settimana = 0;
private static double sconto_cene_sup_50 = 0;
private static int general_counter;

View File

@@ -30,7 +30,7 @@ public class Vacanze extends Utilizzabile implements Serializable{
@Override
public boolean eAcquistabile() {
if(scadenzaOfferta.before(new GregorianCalendar())) //L'offerta della vacanza scade se la data sua scadenza e successiva a quella della data odierna
if(scadenzaOfferta.before(new GregorianCalendar()) || scadenzaOfferta.after(dataPartenzaViaggio) ) //L'offerta della vacanza scade se la data sua scadenza e successiva a quella della data odierna
return false;
return true;
}
@@ -124,7 +124,7 @@ public class Vacanze extends Utilizzabile implements Serializable{
long diffGiorni = diff / (24 * 60 * 60 * 1000); //differenza in giorni
if( diffGiorni<=7 )
return prezzoPSingola - (prezzoPSingola*0.10); //Prezzo scontato
return prezzoPSingola - (prezzoPSingola * Global.getSconto_ultima_settimana() ); //Prezzo scontato
else
return prezzoPSingola; //Nessuno sconto applicabile
}

View File

@@ -46,10 +46,10 @@ public class AdminSession {
switch(sceltaMenu)
{
case "1":
catalogo.nuovoProdotto();
//catalogo.nuovoProdotto();
break;
case "2":
catalogo.cancellaProdotto();
//catalogo.cancellaProdotto();
break;
case "3":
//catalogo.offerteAttive(username);
@@ -58,7 +58,7 @@ public class AdminSession {
//catalogo.offerteScadute(username);
break;
case "5":
r.reshow = false;
// r.reshow = false;
break;
}

View File

@@ -88,99 +88,122 @@ public class Catalogo{
* @throws ClassNotFoundException
* @throws FileNotFoundException
*/
public void nuovoProdotto() throws ParseException, FileNotFoundException, ClassNotFoundException, IOException
public void nuovoProdottoVacanza(String in_localita, String in_data_start, String in_data_end, String in_prezzo) throws ParseException, FileNotFoundException, ClassNotFoundException, IOException
{
System.out.println("--------- Aggiunta nuovo Prodotto ----------");
System.out.println("1 --> Vacanza");
System.out.println("2 --> Cena");
System.out.println("3 --> Bene di consumo ");
String sceltaMenu;
System.out.print("Prodotto: ");
Scanner inputData = new Scanner(System.in);
sceltaMenu = inputData.nextLine();
//Controllo input. La scelta deve essere obbligatoriamente compresa tra 1 e 4
for ( ; !(sceltaMenu.equals("1"))&&!(sceltaMenu.equals("2"))&&!(sceltaMenu.equals("3")) ; ){
System.out.println("Scelta Errata. Riprovare");
System.out.print("Prodotto: ");
sceltaMenu = inputData.nextLine();
}
switch(sceltaMenu)
{
case "1":
System.out.println("---------- Nuova Offerta Vacanza ----------");
System.out.print("Localita: ");
String localita = inputData.nextLine();
//System.out.println("---------- Nuova Offerta Vacanza ----------");
//System.out.print("Localita: ");
String localita = in_localita;
System.out.print("Data Partenza (GG/MM/AAAA): ");
String data = inputData.nextLine();
//System.out.print("Data Partenza (GG/MM/AAAA): ");
String data = in_data_start;
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])));
System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
String data2 = inputData.nextLine();
//System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
String data2 = in_data_end;
String temp2[];
temp2 = data2.split(marcatore);
GregorianCalendar dataScad = new GregorianCalendar((Integer.parseInt(temp2[2])),(Integer.parseInt(temp2[1]))-1,(Integer.parseInt(temp2[0])));
System.out.print("Prezzo singola persona: ");
String prezzo = inputData.nextLine();
//System.out.print("Prezzo singola persona: ");
String prezzo = in_prezzo;
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("---------- Nuova Offerta Cena ----------");
System.out.print("Ristorante: ");
String ristorante = inputData.nextLine();
System.out.print("Localita: ");
String localitaCena = inputData.nextLine();
System.out.print("Descrizione: ");
String descrizioneCena = inputData.nextLine();
System.out.print("Costo a Persona: ");
String prezzoCena = inputData.nextLine();
double prezzoPSingCena = Double.parseDouble(prezzoCena);
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])));
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("---------- Nuova Offerta Bene ----------");
System.out.print("Descrizione: ");
String descrizioneBene = inputData.nextLine();
System.out.print("Prezzo Bene: ");
String prezzoBene = inputData.nextLine();
int prezzo_bene = Integer.parseInt(prezzoBene);
System.out.print("Quantita in magazzino: ");
String qntMag = inputData.nextLine();
int qnt_mag = Integer.parseInt(prezzoBene);
catalogoOfferte.add(new BeniDiConsumo(Global.get_next_id(), descrizioneBene, prezzo_bene, qnt_mag,"fornitore",5));
store_data();
break;
}
IdCounter.save_counter();
}
public void nuovoProdottoCena(String in_ristorante, String in_localita, String in_description, String in_prezzo, String in_data_scad, String in_cene_da_vend) throws ParseException, FileNotFoundException, ClassNotFoundException, IOException
{
//System.out.println("---------- Nuova Offerta Cena ----------");
//System.out.print("Ristorante: ");
String ristorante = in_ristorante;
//System.out.print("Localita: ");
String localitaCena = in_localita;
//System.out.print("Descrizione: ");
String descrizioneCena = in_description;
//System.out.print("Costo a Persona: ");
String prezzoCena = in_prezzo;
double prezzoPSingCena = Double.parseDouble(prezzoCena);
//System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
String data3 = in_data_scad;
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])));
//System.out.print("Cene da Vendere: ");
String nCene = in_cene_da_vend;
int ceneDaVendere = Integer.parseInt(nCene);
catalogoOfferte.add(new CeneInRistoranti(Global.get_next_id(), ristorante, localitaCena, descrizioneCena, prezzoPSingCena, dataScadCena, ceneDaVendere));
store_data();
IdCounter.save_counter();
}
public void nuovoProdottoBene(String in_descrizione, String in_prezzo, String in_quantita, String in_fornitore, String in_giudizio) throws ParseException, FileNotFoundException, ClassNotFoundException, IOException
{
//System.out.println("---------- Nuova Offerta Bene ----------");
//System.out.print("Descrizione: ");
String descrizioneBene = in_descrizione;
//System.out.print("Prezzo Bene: ");
String prezzoBene = in_prezzo;
int prezzo_bene = Integer.parseInt(prezzoBene);
//System.out.print("Quantita in magazzino: ");
String qntMag = in_quantita;
int qnt_mag = Integer.parseInt(prezzoBene);
String fornitore = in_fornitore;
String giudizio = in_giudizio;
int giud_int = Integer.parseInt(giudizio);
catalogoOfferte.add(new BeniDiConsumo(Global.get_next_id(), descrizioneBene, prezzo_bene, qnt_mag,fornitore,giud_int));
store_data();
IdCounter.save_counter();
}
public void nuovoProdottoPrestazione(String in_localita, String in_descrizione, String in_fornitore, String in_giudizio, String in_prezzo) throws ParseException, FileNotFoundException, ClassNotFoundException, IOException
{
//System.out.println("---------- Nuova Offerta Prestazione ----------");
String localita = in_localita;
String descrizione = in_descrizione;
String fornitore = in_fornitore;
String giudizio = in_giudizio;
int giudizio_int = Integer.parseInt(giudizio);
String prezzo = in_prezzo;
double prezzo_d = Double.parseDouble(prezzo);
catalogoOfferte.add(new PrestazioniDopera(Global.get_next_id(), localita,descrizione,fornitore,giudizio_int,prezzo_d));
store_data();
IdCounter.save_counter();
}
/**
* Questo metodo permette la cancellazione di un prodotto dal catalogo
@@ -188,55 +211,45 @@ public class Catalogo{
* @throws ClassNotFoundException
* @throws IOException
*/
public void cancellaProdotto() throws FileNotFoundException, ClassNotFoundException, IOException
public boolean cancellaProdotto(String id) throws FileNotFoundException, ClassNotFoundException, IOException
{
System.out.println("------ Lista Prodotti -----\n--");
for(Utilizzabile deal: catalogoOfferte)
{
if(deal instanceof Vacanze)
{
Vacanze dealVacanza = (Vacanze)deal;
//visualizzaVacanza(dealVacanza);
}
else if(deal instanceof BeniDiConsumo)
{
BeniDiConsumo dealBene = (BeniDiConsumo)deal;
//visualizzaBene(dealBene);
}
else if(deal instanceof CeneInRistoranti)
{
CeneInRistoranti dealCena = (CeneInRistoranti)deal;
//visualizzaCena(dealCena);
}
}
//System.out.println("------ Lista Prodotti -----\n--");
System.out.print("Elimina prodotto [Inserisci id]: ");
Scanner inputData = new Scanner(System.in);
String id = inputData.nextLine();
//System.out.print("Elimina prodotto [Inserisci id]: ");
//Scanner inputData = new Scanner(System.in);
int idDel = Integer.parseInt(id);
System.out.println(idDel);
//System.out.println(idDel);
for(Utilizzabile deal: catalogoOfferte)
{
if(deal instanceof Vacanze && ((Vacanze)deal).getIdViaggio()==idDel)
{
catalogoOfferte.remove(deal);
store_data();
break;
return true;
}
if(deal instanceof BeniDiConsumo && ((BeniDiConsumo) deal).getIdBene()==idDel)
{
catalogoOfferte.remove(deal);
store_data();
break;
return true;
}
if(deal instanceof CeneInRistoranti && ((CeneInRistoranti) deal).getIdCena()==idDel)
{
catalogoOfferte.remove(deal);
store_data();
break;
return true;
}
}
if(deal instanceof PrestazioniDopera && ((PrestazioniDopera)deal).getIdPrOpera()==idDel)
{
catalogoOfferte.remove(deal);
store_data();
return true;
}
}
return false;
}
/**
@@ -1949,7 +1962,8 @@ public class Catalogo{
}
}
loggedUser.setBalance(loggedUser.getBalance() - totale);
loggedUser.setBalance(-totale);
Carrello.clear();
Access.replace_data(user, loggedUser);
store_data();
@@ -2092,7 +2106,7 @@ public class Catalogo{
int giornoP = partenza.get(Calendar.DAY_OF_MONTH);
int meseP = partenza.get(Calendar.MONTH);
int annoP = partenza.get(Calendar.YEAR);
area_storico.append("| deal: " + record.getDescription() + "| Data Acquisto: " + giornoP + "/" + (meseP + 1) + "/" + annoP + "| Prezzo: " + record.getPrezzo() + "\n");
area_storico.append("Deal: " + record.getDescription() + "| Data Acquisto: " + giornoP + "/" + (meseP + 1) + "/" + annoP + "| Prezzo: " + record.getPrezzo() + "\n");
}
}
@@ -2114,7 +2128,7 @@ public class Catalogo{
int meseS = scadenza.get(Calendar.MONTH);
int annoS = scadenza.get(Calendar.YEAR);
show.append("#Vacanza-"+dealVacanza.getIdViaggio()+"# Scadenza: "+giornoS+"/"+(meseS+1)+"/"+annoS+"| Localita: "+dealVacanza.getLocalitaViaggio()+"| Partenza: "+giornoP+"/"+(meseP+1)+"/"+annoP+"| Prezzo Pers. Singola: "+dealVacanza.getPrezzoPSingola()+"\n--");
show.append("#Vacanza-"+dealVacanza.getIdViaggio()+"# Scadenza: "+giornoS+"/"+(meseS+1)+"/"+annoS+"| Localita: "+dealVacanza.getLocalitaViaggio()+"| Partenza: "+giornoP+"/"+(meseP+1)+"/"+annoP+"| Prezzo Pers. Singola: "+dealVacanza.getPrezzoPSingola()+"\n");
}
/**
@@ -2125,12 +2139,12 @@ public class Catalogo{
public void visualizzaBene(BeniDiConsumo dealBene, JTextArea show)
{
show.append("#Articolo-" + dealBene.getIdBene() + "# Descrizione: " + dealBene.getDescrizioneBene() + " Prezzo: " + dealBene.getPrezzoBene() + "| Quantita in magazzino: " + dealBene.getBeniInStock() + "| Fornitore: " + dealBene.getFornitore() + "| Giudizio: +" + dealBene.getGiudizioFornitore() + "\n--");
show.append("#Articolo-" + dealBene.getIdBene() + "# Descrizione: " + dealBene.getDescrizioneBene() + " Prezzo: " + dealBene.getPrezzoBene() + "| Quantita in magazzino: " + dealBene.getBeniInStock() + "| Fornitore: " + dealBene.getFornitore() + "| Giudizio: +" + dealBene.getGiudizioFornitore() + "\n");
}
public void visualizzaPrestazione(PrestazioniDopera deal, JTextArea show)
{
show.append("#Articolo-" + deal.getIdPrOpera() + "# Descrizione: " + deal.getDescrizione() + " Prezzo: " + deal.getPrezzoPrestazione() + "| Fornitore: " + deal.getFornitore() + "| Giudizio: +" + deal.getGiudizioFornitore() + "\n--");
show.append("#Articolo-" + deal.getIdPrOpera() + "# Descrizione: " + deal.getDescrizione() + " Prezzo: " + deal.getPrezzoPrestazione() + "| Fornitore: " + deal.getFornitore() + "| Giudizio: +" + deal.getGiudizioFornitore() + "\n");
}
@@ -2145,7 +2159,7 @@ public class Catalogo{
int giornoSC = scadenzaCena.get(Calendar.DAY_OF_MONTH);
int meseSC = scadenzaCena.get(Calendar.MONTH);
int annoSC = scadenzaCena.get(Calendar.YEAR);
show.append("#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--");
show.append("#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");
}
/**

View File

@@ -1,5 +1,6 @@
package it.unisa.info13d.Gui;
import it.unisa.info13d.Articoli.Global;
import it.unisa.info13d.Articoli.Utilizzabile;
import it.unisa.info13d.GestioneCatalogo.Catalogo;
import it.unisa.info13d.Login.Access;
@@ -11,6 +12,7 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.GregorianCalendar;
@@ -110,11 +112,11 @@ public class AdminInterface extends JFrame{
}
//action listner added at offers declaration
JMenuItem tutti_gli_articoli_attivi_costo = new JMenuItem("Tutti gli articoli Attivi per Costo");
class tutti_gli_articoli_attivi_costo_action implements ActionListener {
JMenuItem tutti_gli_articoli_attivi_data = new JMenuItem("Tutti gli articoli Attivi per Data");
class tutti_gli_articoli_attivi_data_action implements ActionListener {
public tutti_gli_articoli_attivi_costo_action (AdminInterface in_location, JTextArea in_offers,String in_choice){
public tutti_gli_articoli_attivi_data_action (AdminInterface in_location, JTextArea in_offers,String in_choice){
location= in_location;
offers = in_offers;
choice = in_choice;
@@ -171,8 +173,215 @@ public class AdminInterface extends JFrame{
JMenu politicamenu = new JMenu("Politiche Sconto");
JMenuItem sconto_totale_articoli = new JMenuItem("Sconto sul Totale Articoli");
class sconto_totale_articoli_action implements ActionListener {
public sconto_totale_articoli_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
JPanel showInput = new JPanel();
JLabel field1l = new JLabel("Numero Articoli");
JTextField field1 = new JTextField(10);
field1.setText("3");
JLabel field2l = new JLabel("Sconto 0-1");
JTextField field2 = new JTextField(10);
field2.setText("0.1");
showInput.add(field1l);
showInput.add(field1);
showInput.add(field2l);
showInput.add(field2);
JOptionPane.showMessageDialog(location, showInput);
String data = field1.getText();
int num_articoli = Integer.parseInt(data);
String data2 = field2.getText();
double sconto = Double.parseDouble(data2);
Global.set_sconto_min_articoli(num_articoli,sconto);
}
private AdminInterface location;
}
sconto_totale_articoli.addActionListener(new sconto_totale_articoli_action(this));
JMenuItem rimuovi_sconto_totale_articoli = new JMenuItem("Rimuovi Sconto sul Totale Articoli");
class rimuovi_sconto_totale_articoli_action implements ActionListener {
public rimuovi_sconto_totale_articoli_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
Global.set_sconto_min_articoli(0,0);
}
private AdminInterface location;
}
rimuovi_sconto_totale_articoli.addActionListener(new rimuovi_sconto_totale_articoli_action(this));
JMenuItem sconto_articoli_ultima_settimana = new JMenuItem("Sconto su Articoli Ultima Settimana");
class sconto_articoli_ultima_settimana_action implements ActionListener {
public sconto_articoli_ultima_settimana_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
JPanel showInput = new JPanel();
JLabel field2l = new JLabel("Sconto Articoli Ultima Settimana 0-1");
JTextField field2 = new JTextField(10);
field2.setText("0.1");
showInput.add(field2l);
showInput.add(field2);
JOptionPane.showMessageDialog(location, showInput);
String data2 = field2.getText();
double sconto = Double.parseDouble(data2);
Global.setSconto_ultima_settimana(sconto);
}
private AdminInterface location;
}
sconto_articoli_ultima_settimana.addActionListener(new sconto_articoli_ultima_settimana_action(this));
JMenuItem rimuovi_sconto_articoli_ultima_settimana = new JMenuItem("Rimuovi Sconto su Articoli Ultima Settimana");
class rimuovi_sconto_articoli_ultima_settimana_action implements ActionListener {
public rimuovi_sconto_articoli_ultima_settimana_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
Global.setSconto_ultima_settimana(0);
}
private AdminInterface location;
}
rimuovi_sconto_articoli_ultima_settimana.addActionListener(new rimuovi_sconto_articoli_ultima_settimana_action(this));
JMenuItem sconto_cene_50_ultima_settimana = new JMenuItem("Sconto per >50% Cene Vendute Ultima Settimana");
class sconto_cene_50_ultima_settimana_action implements ActionListener {
public sconto_cene_50_ultima_settimana_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
JPanel showInput = new JPanel();
JLabel field2l = new JLabel("Sconto 0-1");
JTextField field2 = new JTextField(10);
field2.setText("0.1");
showInput.add(field2l);
showInput.add(field2);
JOptionPane.showMessageDialog(location, showInput);
String data2 = field2.getText();
double sconto = Double.parseDouble(data2);
Global.setSconto_cene_sup_50(sconto);
}
private AdminInterface location;
}
sconto_cene_50_ultima_settimana.addActionListener(new sconto_cene_50_ultima_settimana_action(this));
JMenuItem rimuovi_sconto_cene_50_ultima_settimana = new JMenuItem("Rimuovi Sconto per >50% Cene Vendute Ultima Settimana");
class rimuovi_sconto_cene_50_ultima_settimana_action implements ActionListener {
public rimuovi_sconto_cene_50_ultima_settimana_action (AdminInterface in_location){
location= in_location;
}
@Override
public void actionPerformed(ActionEvent e) {
Global.setSconto_cene_sup_50(0);
}
private AdminInterface location;
}
rimuovi_sconto_cene_50_ultima_settimana.addActionListener(new rimuovi_sconto_cene_50_ultima_settimana_action(this));
mainmenu.add(filemenu);
@@ -183,14 +392,17 @@ public class AdminInterface extends JFrame{
filemenu.add(quit_menu_item);
searchmenu.add(tutti_gli_articoli_attivi_id);
searchmenu.add(tutti_gli_articoli_attivi_costo);
searchmenu.add(tutti_gli_articoli_attivi_data);
searchmenu.add(tutti_gli_articoli_scaduti);
politicamenu.add(sconto_totale_articoli);
politicamenu.add(rimuovi_sconto_totale_articoli);
politicamenu.add(sconto_articoli_ultima_settimana);
politicamenu.add(rimuovi_sconto_articoli_ultima_settimana);
politicamenu.add(sconto_cene_50_ultima_settimana);
politicamenu.add(rimuovi_sconto_cene_50_ultima_settimana);
@@ -199,9 +411,294 @@ public class AdminInterface extends JFrame{
JLabel add_product_label = new JLabel("Aggiungi un nuovo Prodotto" );
add_product_label.setPreferredSize(new Dimension(180,60));
JButton aggiungi_bene = new JButton("Bene");
class aggiungi_bene_action implements ActionListener {
public aggiungi_bene_action (AdminInterface in_location, JTextArea in_offers){
location= in_location;
offers = in_offers;
}
@Override
public void actionPerformed(ActionEvent e) {
try{
JPanel showInput = new JPanel();
showInput.setLayout(new GridLayout(0,2));
JLabel descrizionel = new JLabel("Descrizione");
JTextField descrizione = new JTextField(15);
JLabel prezzol = new JLabel("Prezzo");
JTextField prezzo = new JTextField(15);
JLabel quantital = new JLabel("Quantita");
JTextField quantita = new JTextField(15);
JLabel fornitorel = new JLabel("Fornitore");
JTextField fornitore = new JTextField(15);
JLabel giudiziol = new JLabel("Giudizio");
JTextField giudizio = new JTextField(15);
showInput.add(descrizionel);
showInput.add(descrizione);
showInput.add(prezzol);
showInput.add(prezzo);
showInput.add(quantital);
showInput.add(quantita);
showInput.add(fornitorel);
showInput.add(fornitore);
showInput.add(giudiziol);
showInput.add(giudizio);
JOptionPane.showMessageDialog(location, showInput);
load_catalogo.nuovoProdottoBene(descrizione.getText(),prezzo.getText(),quantita.getText(),fornitore.getText(),giudizio.getText());
offers.setText("");
load_catalogo.offerteAttive(login_data.getUsername(),offers,"0");
}
catch (FileNotFoundException err){}
catch (IOException err){}
catch (ClassNotFoundException err){}
catch (ParseException err){}
}
private AdminInterface location;
private JTextArea offers;
}
JButton aggiungi_cena = new JButton("Cena");
class aggiungi_cena_action implements ActionListener {
public aggiungi_cena_action (AdminInterface in_location, JTextArea in_offers){
location= in_location;
offers = in_offers;
}
@Override
public void actionPerformed(ActionEvent e) {
try{
JPanel showInput = new JPanel();
showInput.setLayout(new GridLayout(0,2));
JLabel ristorantel = new JLabel("Ristorante");
JTextField ristorante = new JTextField(15);
JLabel localital = new JLabel("Localita");
JTextField localita = new JTextField(15);
JLabel descrizionel = new JLabel("Descrizione");
JTextField descrizione = new JTextField(15);
JLabel prezzol = new JLabel("Prezzo");
JTextField prezzo = new JTextField(15);
JLabel scadenzal = new JLabel("Scadenza");
JTextField scadenza = new JTextField(15);
scadenza.setText("GG/MM/AAAA");
JLabel cenedavendl = new JLabel("Cene Da Vendere");
JTextField cenedavend = new JTextField(15);
showInput.add(ristorantel);
showInput.add(ristorante);
showInput.add(localital);
showInput.add(localita);
showInput.add(descrizionel);
showInput.add(descrizione);
showInput.add(prezzol);
showInput.add(prezzo);
showInput.add(scadenzal);
showInput.add(scadenza);
showInput.add(cenedavendl);
showInput.add(cenedavend);
JOptionPane.showMessageDialog(location, showInput);
load_catalogo.nuovoProdottoCena(ristorante.getText(), localita.getText(), descrizione.getText(), prezzo.getText(), scadenza.getText(), cenedavend.getText());
offers.setText("");
load_catalogo.offerteAttive(login_data.getUsername(),offers,"0");
}
catch (FileNotFoundException err){}
catch (IOException err){}
catch (ClassNotFoundException err){}
catch (ParseException err){}
}
private AdminInterface location;
private JTextArea offers;
}
JButton aggiungi_vacanza = new JButton("Viaggio");
class aggiungi_vacanza_action implements ActionListener {
public aggiungi_vacanza_action (AdminInterface in_location, JTextArea in_offers){
location= in_location;
offers = in_offers;
}
@Override
public void actionPerformed(ActionEvent e) {
try{
JPanel showInput = new JPanel();
showInput.setLayout(new GridLayout(0,2));
JLabel localital = new JLabel("Localita");
JTextField localita = new JTextField(15);
JLabel datastartl = new JLabel("Data Partenza");
JTextField datastart = new JTextField(15);
JLabel dataendl = new JLabel("Data Fine Offerta");
JTextField dataend = new JTextField(15);
JLabel prezzol = new JLabel("Prezzo");
JTextField prezzo = new JTextField(15);
showInput.add(localital);
showInput.add(localita);
showInput.add(datastartl);
showInput.add(datastart);
showInput.add(dataendl);
showInput.add(dataend);
showInput.add(prezzol);
showInput.add(prezzo);
JOptionPane.showMessageDialog(location, showInput);
load_catalogo.nuovoProdottoVacanza(localita.getText(), datastart.getText(), dataend.getText(), prezzo.getText());
offers.setText("");
load_catalogo.offerteAttive(login_data.getUsername(),offers,"0");
}
catch (FileNotFoundException err){}
catch (IOException err){}
catch (ClassNotFoundException err){}
catch (ParseException err){}
}
private AdminInterface location;
private JTextArea offers;
}
JButton aggiungi_prestazione = new JButton("Prestazione");
class aggiungi_prestazione_action implements ActionListener {
public aggiungi_prestazione_action (AdminInterface in_location,JTextArea in_offers){
location= in_location;
offers = in_offers;
}
@Override
public void actionPerformed(ActionEvent e) {
try{
JPanel showInput = new JPanel();
showInput.setLayout(new GridLayout(0,2));
JLabel localital = new JLabel("Localita");
JTextField localita = new JTextField(15);
JLabel descrizionel = new JLabel("Descrizione");
JTextField descrizione = new JTextField(15);
JLabel fornitorel = new JLabel("Fornitore");
JTextField fornitore = new JTextField(15);
JLabel giudiziol = new JLabel("Giudizio");
JTextField giudizio = new JTextField(15);
JLabel prezzol = new JLabel("Prezzo");
JTextField prezzo = new JTextField(15);
showInput.add(localital);
showInput.add(localita);
showInput.add(descrizionel);
showInput.add(descrizione);
showInput.add(fornitorel);
showInput.add(fornitore);
showInput.add(giudiziol);
showInput.add(giudizio);
showInput.add(prezzol);
showInput.add(prezzo);
JOptionPane.showMessageDialog(location, showInput);
load_catalogo.nuovoProdottoPrestazione(localita.getText(), descrizione.getText(), fornitore.getText(), giudizio.getText(), prezzo.getText());
offers.setText("");
load_catalogo.offerteAttive(login_data.getUsername(),offers,"0");
}
catch (FileNotFoundException err){}
catch (IOException err){}
catch (ClassNotFoundException err){}
catch (ParseException err){}
}
private AdminInterface location;
private JTextArea offers;
}
AggiungiProdottiPanel.add(add_product_label);
@@ -228,13 +725,20 @@ public class AdminInterface extends JFrame{
JTextArea offers = new JTextArea(500,200);
JScrollPane scrollarea = new JScrollPane(offers);
offers.setText("Utilizza il menu Cerca per popolare questa lista");
mainWindow.add(offers,BorderLayout.CENTER);
mainWindow.add(scrollarea,BorderLayout.CENTER);
tutti_gli_articoli_attivi_id.addActionListener(new tutti_gli_articoli_attivi_id_action(this,offers,"0"));
tutti_gli_articoli_attivi_costo.addActionListener(new tutti_gli_articoli_attivi_costo_action(this,offers,"1"));
tutti_gli_articoli_attivi_data.addActionListener(new tutti_gli_articoli_attivi_data_action(this,offers,"1"));
tutti_gli_articoli_scaduti.addActionListener(new tutti_gli_articoli_scaduti_action(this,offers));
aggiungi_bene.addActionListener(new aggiungi_bene_action(this,offers));
aggiungi_cena.addActionListener(new aggiungi_cena_action(this,offers));
aggiungi_vacanza.addActionListener(new aggiungi_vacanza_action(this,offers));
aggiungi_prestazione.addActionListener(new aggiungi_prestazione_action(this,offers));
JPanel acquista_panel = new JPanel();
@@ -245,36 +749,34 @@ public class AdminInterface extends JFrame{
/////old class to replace with rimuovi prodotto
class aggiungi_al_carrello_action implements ActionListener {
class rimuovi_prodotto_action implements ActionListener {
public aggiungi_al_carrello_action (AdminInterface in_location, JTextField in_id, JTextArea in_offers, JLabel in_count){
public rimuovi_prodotto_action (AdminInterface in_location, JTextField in_id, JTextArea in_offers ){
id = in_id;
location= in_location;
offers = in_offers;
count = in_count;
}
@Override
public void actionPerformed(ActionEvent e) {
try{
if (offers.getText().isEmpty()){
JOptionPane.showMessageDialog(location,
"Dovresti prima aggiornare l'elenco delle offerte attive ",
"Error",
JOptionPane.ERROR_MESSAGE);
} else{
if (Integer.parseInt(id.getText()) >= 0 ){
int found = load_catalogo.search_product_id(login_data.getUsername(),id.getText());
if (found > -1){
Carrello.add(load_catalogo.getCatalogo().get(found));
count.setText(" Corrello: " + Carrello.size() + " Prodotti");
boolean found = load_catalogo.cancellaProdotto(id.getText());
if (found ){
JOptionPane.showMessageDialog(location,
"Prodotto Rimosso ",
"Completato",
JOptionPane.INFORMATION_MESSAGE);
offers.setText("");
load_catalogo.offerteAttive(login_data.getUsername(),offers,"0");
}else{
JOptionPane.showMessageDialog(location,
"Impossibile aggiungere il prodotto indicato ",
"Impossibile rimuovere il prodotto indicato ",
"Error",
JOptionPane.ERROR_MESSAGE);
}
@@ -288,7 +790,7 @@ public class AdminInterface extends JFrame{
}
}
}
catch (FileNotFoundException err){}
catch (IOException err){}
@@ -315,9 +817,9 @@ public class AdminInterface extends JFrame{
private JTextField id;
private AdminInterface location;
private JTextArea offers;
private JLabel count;
}
rimuovi_prodotto.addActionListener(new aggiungi_al_carrello_action(this,id,offers,idlabel));
rimuovi_prodotto.addActionListener(new rimuovi_prodotto_action(this,id,offers));

View File

@@ -3,6 +3,7 @@ package it.unisa.info13d.Gui;
import it.unisa.info13d.Login.Access;
import it.unisa.info13d.Login.LoginData;
import it.unisa.info13d.GestioneCatalogo.*;
import it.unisa.info13d.Utility.IdCounter;
import javax.swing.*;
import java.awt.*;
@@ -85,6 +86,7 @@ public class LoginWindow extends JFrame {
try{
if (Access.search_username(name.getText(),String.valueOf(password.getPassword()))){
LoginData login = new LoginData(name.getText(),String.valueOf(password.getPassword()),location.getText(),action);
IdCounter.restore_counter();
Catalogo load_catalogo = new Catalogo();
if (login.getType().equals("Admin")){
actual.setVisible(false);

View File

@@ -216,10 +216,11 @@ public class UserInterface extends JFrame{
JPanel show_storico = new JPanel();
JTextArea area_storico = new JTextArea(10,15);
JTextArea area_storico = new JTextArea(10,45);
JScrollPane scrollarea = new JScrollPane(area_storico);
show_storico.add(area_storico);
show_storico.add(scrollarea);
load_catalogo.visualizzaStorico(login_data.getUsername(),"1",area_storico);
JOptionPane.showMessageDialog(location, show_storico);
@@ -255,10 +256,11 @@ public class UserInterface extends JFrame{
JPanel show_storico = new JPanel();
JTextArea area_storico = new JTextArea(10,15);
JTextArea area_storico = new JTextArea(10,45);
JScrollPane scrollarea = new JScrollPane(area_storico);
show_storico.add(area_storico);
show_storico.add(scrollarea);
load_catalogo.visualizzaStorico(login_data.getUsername(),"2",area_storico);
JOptionPane.showMessageDialog(location, show_storico);
@@ -366,8 +368,9 @@ public class UserInterface extends JFrame{
JTextArea offers = new JTextArea(500,200);
JScrollPane scrollarea = new JScrollPane(offers);
offers.setText("Utilizza il menu Cerca per popolare questa lista");
mainWindow.add(offers,BorderLayout.CENTER);
mainWindow.add(scrollarea,BorderLayout.CENTER);
tutti_gli_articoli_attivi.addActionListener(new tutti_gli_articoli_attivi_action(this,offers));
articoli_con_scadenza_menu_item.addActionListener(new tutti_gli_articoli_con_scadenza_action(this,offers));
articoli_senza_scadenza_menu_item.addActionListener(new tutti_gli_articoli_senza_scadenza_action(this,offers));