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;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
/**
|
||||
* Created with MONSTER.
|
||||
@@ -65,6 +66,10 @@ public class BeniDiConsumo implements Utilizzabile, Serializable{
|
||||
this.beniInStock = beniInStock;
|
||||
}
|
||||
|
||||
public GregorianCalendar getScadenza() {
|
||||
return scadenza;
|
||||
}
|
||||
|
||||
public void setBeniVenduti() {
|
||||
beniInStock--;
|
||||
beniVenduti++;
|
||||
@@ -75,4 +80,5 @@ public class BeniDiConsumo implements Utilizzabile, Serializable{
|
||||
private double prezzoBene;
|
||||
private int beniInStock; //Numero totale di prodotti da vendere
|
||||
private int beniVenduti; //Numero di prodotti venduti
|
||||
private GregorianCalendar scadenza = new GregorianCalendar(99999,0,1);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package it.unisa.info13d.GestioneCatalogo;
|
||||
import java.util.*;
|
||||
|
||||
import it.unisa.info13d.Articoli.BeniDiConsumo;
|
||||
import it.unisa.info13d.Articoli.CeneInRistoranti;
|
||||
@@ -24,11 +25,7 @@ import java.io.ObjectOutputStream;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
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.
|
||||
* User: lebon
|
||||
@@ -237,21 +234,8 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza le offerte attive del catalogo
|
||||
* @throws IOException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
public void offerteAttive(String user) throws FileNotFoundException, ClassNotFoundException, IOException
|
||||
{
|
||||
Entry loggedUser = Access.get_user_data(user);
|
||||
if(!(loggedUser.getType()))
|
||||
{
|
||||
//DO SOMETHING !
|
||||
}
|
||||
|
||||
for(Utilizzabile deal: catalogoOfferte)
|
||||
public void print_cat_admin (ArrayList<Utilizzabile> a){
|
||||
for(Utilizzabile deal: a)
|
||||
{
|
||||
if(deal instanceof Vacanze)
|
||||
{
|
||||
@@ -284,6 +268,358 @@ public class Catalogo{
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
* @throws IOException
|
||||
* @throws ClassNotFoundException
|
||||
* @throws FileNotFoundException
|
||||
*/
|
||||
public void offerteAttive(String user) throws FileNotFoundException, ClassNotFoundException, IOException
|
||||
{
|
||||
Entry loggedUser = Access.get_user_data(user);
|
||||
if(!(loggedUser.getType()))
|
||||
{
|
||||
Scanner reader = new Scanner(System.in);
|
||||
|
||||
|
||||
System.out.println("1 --> Ordina Per Data di Scadenza");
|
||||
System.out.println("2 --> Ordina Per ID");
|
||||
|
||||
String choice;
|
||||
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());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Questo metodo visualizza le offerte scadute del catalogo
|
||||
* @throws IOException
|
||||
|
||||
Reference in New Issue
Block a user