Creazione Classi:

- PrestazioniDopera2 (Attributi+Metodi setter/getter)

Aggiunti gli attributi richiesti alla classe BeniDiConsumo2

Implementate le politiche di sconto generiche per gli articoli con scadenza nell'ultima settimana
Implementata scadenza specifica per le Cene.
This commit is contained in:
Simone Argenziano
2014-01-10 21:29:56 +01:00
parent f35c37ae4e
commit d311e18b12
5 changed files with 553 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
package it.unisa.info13d.Articoli;
import java.io.Serializable;
import java.util.GregorianCalendar;
/**
* Created with MONSTER.
* User: xgiovio
* Date: 16/12/13
* Time: 18.45
*/
public class Vacanze2 extends Utilizzabile2 implements Utilizzabile, Serializable{
/**
* Costruttore per inizialiazzare una Vacanza
*
* @param idViaggio
* @param localitaViaggio
* @param dataPartenzaViaggio
* @param scadenzaOfferta
* @param prezzoPSingola
*/
public Vacanze2(int idViaggio, String localitaViaggio, GregorianCalendar dataPartenzaViaggio, GregorianCalendar scadenzaOfferta, double prezzoPSingola){
this.idViaggio = idViaggio;
this.localitaViaggio = localitaViaggio;
this.dataPartenzaViaggio = dataPartenzaViaggio;
this.scadenzaOfferta = scadenzaOfferta;
this.prezzoPSingola = prezzoPSingola;
}
@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
return false;
return true;
}
/**
* @return - id del viaggio
*/
public int getIdViaggio() {
return idViaggio;
}
/**
* @return - localita' del viaggio
*/
public String getLocalitaViaggio() {
return localitaViaggio;
}
/**
* @return - data di partenza
*/
public GregorianCalendar getDataPartenzaViaggio() {
return dataPartenzaViaggio;
}
/**
* @return - data di scadenza dell'offerta
*/
public GregorianCalendar getScadenzaOfferta() {
return scadenzaOfferta;
}
/**
* @return - il prezzo per singola persona
*/
public double getPrezzoPSingola() {
return prezzoPSingola;
}
/**
* @return - il numero di viaggi venduti
*/
public int getViaggiVenduti() {
return viaggiVenduti;
}
/**
* @param localitaViaggio - setta la localit' del viaggio
*/
public void setLocalitaViaggio(String localitaViaggio) {
this.localitaViaggio = localitaViaggio;
}
/**
* @param dataPartenzaViaggio - setta la data di patenza del viaggio
*/
public void setDataPartenzaViaggio(GregorianCalendar dataPartenzaViaggio) {
this.dataPartenzaViaggio = dataPartenzaViaggio;
}
/**
* @param scadenzaOfferta - setta la data di scadenza dell'offerta della vacanza
*/
public void setScadenzaOfferta(GregorianCalendar scadenzaOfferta) {
this.scadenzaOfferta = scadenzaOfferta;
}
/**
* @param prezzoPSingola - setta il prezzo per singola persona
*/
public void setPrezzoPSingola(double prezzoPSingola) {
this.prezzoPSingola = prezzoPSingola;
}
/**
* Questo metodo incrementa, dopo ogni acquisto, il numero di viaggi venduti
*/
public void setViaggiVenduti()
{
viaggiVenduti++;
}
@Override
public double get_prezzo_scontato() {
GregorianCalendar dataOdierna = new GregorianCalendar(2008, 11, 18);
long milliseconds1 = dataOdierna.getTimeInMillis();
long milliseconds2 = scadenzaOfferta.getTimeInMillis();
long diff = milliseconds2 - milliseconds1;
long diffGiorni = diff / (24 * 60 * 60 * 1000); //differenza in giorni
if( diffGiorni>=7 )
return prezzoPSingola*0.10; //Prezzo scontato del 10%
else
return prezzoPSingola; //Nessuno sconto applicabile
}
private int idViaggio;
private String localitaViaggio;
private GregorianCalendar dataPartenzaViaggio;
private GregorianCalendar scadenzaOfferta;
private double prezzoPSingola;
private int viaggiVenduti;
}