Aggiunto l'ordine sulla visualizzazione delle offerte per admin e user
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package it.unisa.info13d.Articoli;
|
package it.unisa.info13d.Articoli;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created with MONSTER.
|
* Created with MONSTER.
|
||||||
@@ -65,6 +66,10 @@ public class BeniDiConsumo implements Utilizzabile, Serializable{
|
|||||||
this.beniInStock = beniInStock;
|
this.beniInStock = beniInStock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GregorianCalendar getScadenza() {
|
||||||
|
return scadenza;
|
||||||
|
}
|
||||||
|
|
||||||
public void setBeniVenduti() {
|
public void setBeniVenduti() {
|
||||||
beniInStock--;
|
beniInStock--;
|
||||||
beniVenduti++;
|
beniVenduti++;
|
||||||
@@ -75,4 +80,5 @@ public class BeniDiConsumo implements Utilizzabile, Serializable{
|
|||||||
private double prezzoBene;
|
private double prezzoBene;
|
||||||
private int beniInStock; //Numero totale di prodotti da vendere
|
private int beniInStock; //Numero totale di prodotti da vendere
|
||||||
private int beniVenduti; //Numero di prodotti venduti
|
private int beniVenduti; //Numero di prodotti venduti
|
||||||
|
private GregorianCalendar scadenza = new GregorianCalendar(99999,0,1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
package it.unisa.info13d.GestioneCatalogo;
|
package it.unisa.info13d.GestioneCatalogo;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import it.unisa.info13d.Articoli.BeniDiConsumo;
|
import it.unisa.info13d.Articoli.BeniDiConsumo;
|
||||||
import it.unisa.info13d.Articoli.CeneInRistoranti;
|
import it.unisa.info13d.Articoli.CeneInRistoranti;
|
||||||
@@ -24,11 +25,7 @@ import java.io.ObjectOutputStream;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.GregorianCalendar;
|
|
||||||
import java.util.Scanner;
|
|
||||||
/**
|
/**
|
||||||
* Created with PC-STATION.
|
* Created with PC-STATION.
|
||||||
* User: lebon
|
* User: lebon
|
||||||
@@ -237,6 +234,82 @@ public class Catalogo{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void print_cat_admin (ArrayList<Utilizzabile> a){
|
||||||
|
for(Utilizzabile deal: a)
|
||||||
|
{
|
||||||
|
if(deal instanceof Vacanze)
|
||||||
|
{
|
||||||
|
Vacanze dealVacanza = (Vacanze)deal;
|
||||||
|
if((dealVacanza.eAcquistabile()))
|
||||||
|
{
|
||||||
|
visualizzaVacanza(dealVacanza);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(deal instanceof BeniDiConsumo)
|
||||||
|
{
|
||||||
|
BeniDiConsumo dealBene = (BeniDiConsumo)deal;
|
||||||
|
if((dealBene.eAcquistabile()))
|
||||||
|
{
|
||||||
|
visualizzaBene(dealBene);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(deal instanceof CeneInRistoranti)
|
||||||
|
{
|
||||||
|
CeneInRistoranti dealCena = (CeneInRistoranti)deal;
|
||||||
|
|
||||||
|
if((dealCena.eAcquistabile()))
|
||||||
|
{
|
||||||
|
visualizzaCena(dealCena);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void print_cat_user (ArrayList<Utilizzabile> a, String location_user_to_compare){
|
||||||
|
for(Utilizzabile deal: a)
|
||||||
|
{
|
||||||
|
if(deal instanceof Vacanze)
|
||||||
|
{
|
||||||
|
Vacanze dealVacanza = (Vacanze)deal;
|
||||||
|
if((dealVacanza.eAcquistabile()))
|
||||||
|
{
|
||||||
|
visualizzaVacanza(dealVacanza);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(deal instanceof BeniDiConsumo)
|
||||||
|
{
|
||||||
|
BeniDiConsumo dealBene = (BeniDiConsumo)deal;
|
||||||
|
if((dealBene.eAcquistabile()))
|
||||||
|
{
|
||||||
|
visualizzaBene(dealBene);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(deal instanceof CeneInRistoranti)
|
||||||
|
{
|
||||||
|
CeneInRistoranti dealCena = (CeneInRistoranti)deal;
|
||||||
|
|
||||||
|
if((dealCena.eAcquistabile() && dealCena.getLuogo().equals(location_user_to_compare )))
|
||||||
|
{
|
||||||
|
visualizzaCena(dealCena);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected long convert_calendar_to_int (GregorianCalendar in){
|
||||||
|
return in.getTimeInMillis();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Questo metodo visualizza le offerte attive del catalogo
|
* Questo metodo visualizza le offerte attive del catalogo
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
@@ -248,40 +321,303 @@ public class Catalogo{
|
|||||||
Entry loggedUser = Access.get_user_data(user);
|
Entry loggedUser = Access.get_user_data(user);
|
||||||
if(!(loggedUser.getType()))
|
if(!(loggedUser.getType()))
|
||||||
{
|
{
|
||||||
//DO SOMETHING !
|
Scanner reader = new Scanner(System.in);
|
||||||
}
|
|
||||||
|
|
||||||
for(Utilizzabile deal: catalogoOfferte)
|
|
||||||
{
|
|
||||||
if(deal instanceof Vacanze)
|
|
||||||
{
|
|
||||||
Vacanze dealVacanza = (Vacanze)deal;
|
|
||||||
if((dealVacanza.eAcquistabile()))
|
|
||||||
{
|
|
||||||
visualizzaVacanza(dealVacanza);
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if(deal instanceof BeniDiConsumo)
|
|
||||||
{
|
|
||||||
BeniDiConsumo dealBene = (BeniDiConsumo)deal;
|
|
||||||
if((dealBene.eAcquistabile()))
|
|
||||||
{
|
|
||||||
visualizzaBene(dealBene);
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if(deal instanceof CeneInRistoranti)
|
|
||||||
{
|
|
||||||
CeneInRistoranti dealCena = (CeneInRistoranti)deal;
|
|
||||||
|
|
||||||
if((dealCena.eAcquistabile()))
|
System.out.println("1 --> Ordina Per Data di Scadenza");
|
||||||
{
|
System.out.println("2 --> Ordina Per ID");
|
||||||
visualizzaCena(dealCena);
|
|
||||||
}
|
String choice;
|
||||||
continue;
|
choice = reader.nextLine();
|
||||||
}
|
for ( ; !(choice.equals("1")) && !(choice.equals("2")) ;){
|
||||||
}
|
System.out.println("Scelta Errata. Riprovare");
|
||||||
|
choice = reader.nextLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (choice.equals("1")){
|
||||||
|
|
||||||
|
class CompareDataScadenza implements Comparator<Utilizzabile> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(Utilizzabile e1, Utilizzabile e2) {
|
||||||
|
|
||||||
|
if (e1 instanceof BeniDiConsumo){
|
||||||
|
//beni vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//beni vs vacanze
|
||||||
|
if (((BeniDiConsumo)e1).getScadenza().getTimeInMillis() < ((Vacanze)e2).getScadenzaOfferta().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//bene vs //bene
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getScadenza().getTimeInMillis() < ((BeniDiConsumo)e2).getScadenza().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//bene vs cena
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getScadenza().getTimeInMillis() < ((CeneInRistoranti)e2).getDataScadenzaOffertaCena().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (e1 instanceof Vacanze){
|
||||||
|
//vacanze vs
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//vacanze vs bene
|
||||||
|
if (((Vacanze)e1).getScadenzaOfferta().getTimeInMillis() < ((BeniDiConsumo)e2).getScadenza().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//vacabnza vs vacanza
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getScadenzaOfferta().getTimeInMillis() < ((Vacanze)e2).getScadenzaOfferta().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//vacanza vs cena
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getScadenzaOfferta().getTimeInMillis() < ((CeneInRistoranti)e2).getDataScadenzaOffertaCena().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//Cene vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//cena vs vacanza
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getDataScadenzaOffertaCena().getTimeInMillis() < ((Vacanze)e2).getScadenzaOfferta().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof CeneInRistoranti){
|
||||||
|
//cena vs cena
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getDataScadenzaOffertaCena().getTimeInMillis() < ((CeneInRistoranti)e2).getDataScadenzaOffertaCena().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
//cena vs bene
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getDataScadenzaOffertaCena().getTimeInMillis() < ((BeniDiConsumo)e2).getScadenza().getTimeInMillis())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(catalogoOfferte,new CompareDataScadenza());
|
||||||
|
print_cat_admin (catalogoOfferte);
|
||||||
|
}else{
|
||||||
|
|
||||||
|
class CompareID implements Comparator<Utilizzabile> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(Utilizzabile e1, Utilizzabile e2) {
|
||||||
|
|
||||||
|
if (e1 instanceof BeniDiConsumo){
|
||||||
|
//beni vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//beni vs vacanze
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((Vacanze)e2).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//bene vs //bene
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((BeniDiConsumo)e2).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//bene vs cena
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((CeneInRistoranti)e2).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (e1 instanceof Vacanze){
|
||||||
|
//vacanze vs
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//vacanze vs bene
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((BeniDiConsumo)e2).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//vacabnza vs vacanza
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((Vacanze)e2).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//vacanza vs cena
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((CeneInRistoranti)e2).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//Cene vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//cena vs vacanza
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((Vacanze)e2).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof CeneInRistoranti){
|
||||||
|
//cena vs cena
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((CeneInRistoranti)e2).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
//cena vs bene
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((BeniDiConsumo)e2).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Collections.sort(catalogoOfferte,new CompareID());
|
||||||
|
print_cat_admin (catalogoOfferte);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else{
|
||||||
|
|
||||||
|
class CompareIDUser implements Comparator<Utilizzabile> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(Utilizzabile e1, Utilizzabile e2) {
|
||||||
|
|
||||||
|
if (e1 instanceof BeniDiConsumo){
|
||||||
|
//beni vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//beni vs vacanze
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((Vacanze)e1).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//bene vs //bene
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((BeniDiConsumo)e1).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//bene vs cena
|
||||||
|
|
||||||
|
if (((BeniDiConsumo)e1).getIdBene() < ((CeneInRistoranti)e1).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (e1 instanceof Vacanze){
|
||||||
|
//vacanze vs
|
||||||
|
if (e2 instanceof BeniDiConsumo){
|
||||||
|
//vacanze vs bene
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((BeniDiConsumo)e1).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//vacabnza vs vacanza
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((Vacanze)e1).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//vacanza vs cena
|
||||||
|
|
||||||
|
if (((Vacanze)e1).getIdViaggio() < ((CeneInRistoranti)e1).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
//Cene vs
|
||||||
|
if (e2 instanceof Vacanze){
|
||||||
|
//cena vs vacanza
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((Vacanze)e1).getIdViaggio())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if (e2 instanceof CeneInRistoranti){
|
||||||
|
//cena vs cena
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((CeneInRistoranti)e1).getIdCena())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}else{
|
||||||
|
//cena vs bene
|
||||||
|
|
||||||
|
if (((CeneInRistoranti)e1).getIdCena() < ((BeniDiConsumo)e1).getIdBene())
|
||||||
|
return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Collections.sort(catalogoOfferte,new CompareIDUser());
|
||||||
|
print_cat_user(catalogoOfferte,loggedUser.getLocation());
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user