164 lines
4.2 KiB
Java
164 lines
4.2 KiB
Java
package it.unisa.info13d.Articoli;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.GregorianCalendar;
|
|
|
|
/**
|
|
* Created with MONSTER.
|
|
* User: xgiovio
|
|
* Date: 16/12/13
|
|
* Time: 18.47
|
|
*/
|
|
|
|
/**
|
|
*
|
|
* Classe che rappresenta una cena all'interno del catalogo.
|
|
*
|
|
*/
|
|
public class CeneInRistoranti implements Utilizzabile, Serializable{
|
|
|
|
/**
|
|
*
|
|
* @param idCena - l'id della cena
|
|
* @param nomeRistorante - il ristorante in cui usufruire dell'offerta
|
|
* @param luogo - Ubicazione del ristorante
|
|
* @param descrizione_cena - descrizione della cena (cosa viene offerto dal ristorante)
|
|
* @param costoPerPersona - costo per singola persona
|
|
* @param dataScadenzaOffertaCena - scadenza dell'offerta
|
|
* @param numCenedaVendere - offerte disponibile per la cena
|
|
*/
|
|
|
|
public CeneInRistoranti(int idCena, String nomeRistorante, String luogo, String descrizione_cena, double costoPerPersona, GregorianCalendar dataScadenzaOffertaCena, int numCenedaVendere){
|
|
this.idCena=idCena;
|
|
this.nomeRistorante=nomeRistorante;
|
|
this.luogo=luogo;
|
|
this.descrizione_cena=descrizione_cena;
|
|
this.costoPerPersona=costoPerPersona;
|
|
this.dataScadenzaOffertaCena=dataScadenzaOffertaCena;
|
|
this.numCenedaVendere=numCenedaVendere;
|
|
}
|
|
|
|
@Override
|
|
public boolean eAcquistabile() {
|
|
if((dataScadenzaOffertaCena.before(new GregorianCalendar())) && (numCenedaVendere>ceneVendute))
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* @return - l'id della cena
|
|
*/
|
|
public int getIdCena() {
|
|
return idCena;
|
|
}
|
|
|
|
/**
|
|
* @return - in nome del ristorante
|
|
*/
|
|
public String getNomeRistorante() {
|
|
return nomeRistorante;
|
|
}
|
|
|
|
/**
|
|
* @return - l'ubicazione del ristorante
|
|
*/
|
|
public String getLuogo() {
|
|
return luogo;
|
|
}
|
|
|
|
/**
|
|
* @return - descrizione della cena
|
|
*/
|
|
public String getDescrizione_cena() {
|
|
return descrizione_cena;
|
|
}
|
|
|
|
/**
|
|
* @return - il costo per ogni singola persona
|
|
*/
|
|
public double getCostoPerPersona() {
|
|
return costoPerPersona;
|
|
}
|
|
|
|
/**
|
|
* @return - data di scadenza dell'offerta
|
|
*/
|
|
public GregorianCalendar getDataScadenzaOffertaCena() {
|
|
return dataScadenzaOffertaCena;
|
|
}
|
|
|
|
/**
|
|
* @return - il numero di cene ancora disponibili per la vendita
|
|
*/
|
|
public int getNumCenedaVendere() {
|
|
return numCenedaVendere;
|
|
}
|
|
|
|
/**
|
|
* @return - il numero di cene vendute
|
|
*/
|
|
public int getCeneVendute() {
|
|
return ceneVendute;
|
|
}
|
|
|
|
/**
|
|
* @param nomeRistorante - setta il nome del ristorante
|
|
*/
|
|
public void setNomeRistorante(String nomeRistorante) {
|
|
this.nomeRistorante = nomeRistorante;
|
|
}
|
|
|
|
/**
|
|
* @param luogo - setta il l'ubicazione del ristorante
|
|
*/
|
|
public void setLuogo(String luogo) {
|
|
this.luogo = luogo;
|
|
}
|
|
|
|
/**
|
|
* @param descrizione_cena - setta la descrizione della cena (Esempio: pizza margherita, patate e dolce)
|
|
*/
|
|
public void setDescrizione_cena(String descrizione_cena) {
|
|
this.descrizione_cena = descrizione_cena;
|
|
}
|
|
|
|
/**
|
|
* @param costoPerPersona - setta il costo per singola persona
|
|
*/
|
|
public void setCostoPerPersona(double costoPerPersona) {
|
|
this.costoPerPersona = costoPerPersona;
|
|
}
|
|
|
|
/**
|
|
* @param dataScadenzaOffertaCena - setta la data di scadenza per l'offerta
|
|
*/
|
|
public void setDataScadenzaOffertaCena(GregorianCalendar dataScadenzaOffertaCena) {
|
|
this.dataScadenzaOffertaCena = dataScadenzaOffertaCena;
|
|
}
|
|
|
|
/**
|
|
* @param numCenedaVendere - setta il numero di cene da vendere
|
|
*/
|
|
public void setNumCenedaVendere(int numCenedaVendere) {
|
|
this.numCenedaVendere = numCenedaVendere;
|
|
}
|
|
|
|
/**
|
|
* Questo metodo all'atto dell'acquisto da parte di un utente, decrementa le cene da vendere ed incrementa quelle vendute
|
|
*/
|
|
public void setCeneVendute()
|
|
{
|
|
numCenedaVendere--;
|
|
ceneVendute++;
|
|
}
|
|
|
|
private int idCena;
|
|
private String nomeRistorante;
|
|
private String luogo;
|
|
private String descrizione_cena;
|
|
private double costoPerPersona;
|
|
private GregorianCalendar dataScadenzaOffertaCena;
|
|
private int numCenedaVendere;
|
|
private int ceneVendute;
|
|
}
|