Skip to content
Snippets Groups Projects
Commit 078fe744 authored by Veritorakka's avatar Veritorakka
Browse files

Tein tehtävän 1 kohdan C

parent e64ef85b
No related branches found
No related tags found
No related merge requests found
package fi.utu.tech.ooj.exercise2;
import java.util.ArrayList;
public class Lasku {
private Asiakas asiakas;
private ArrayList<Laskurivi> rivit;
/**
* Konstruktori luo uuden laskun annetulla asiakkaalla ja tyhjillä laskuriveillä.
*
* @param asiakas Laskun asiakas.
*/
public Lasku(Asiakas asiakas) {
this.asiakas = asiakas;
this.rivit = new ArrayList<Laskurivi>();
}
/**
* Metodi lisää tuotteen laskun riville.
*
* @param tuote Lisättävä tuote.
* @param maara Lisättävän tuotteen määrä.
*/
public void lisaaTuote(Tuote tuote, int maara, double alennus) {
Laskurivi rivi = new Laskurivi(tuote, maara, alennus);
this.rivit.add(rivi);
}
/**
* Metodi poistaa tuotteen laskun riviltä.
*
* @param rivi Poistettava laskurivi.
*/
public void poistaRivi(Laskurivi rivi) {
this.rivit.remove(rivi);
}
/**
* Metodi palauttaa laskun kokonaishinnan.
*
* @return Laskun kokonaishinta.
*/
public double getKokonaishinta() {
double kokonaishinta = 0.0;
for (Laskurivi rivi : this.rivit) {
kokonaishinta += rivi.getRivihinta();
}
return kokonaishinta;
}
/**
* Metodi palauttaa laskun asiakkaan.
*
* @return Laskun asiakas.
*/
public Asiakas getAsiakas() {
return this.asiakas;
}
/**
* Metodi palauttaa laskun laskurivit.
*
* @return Laskun laskurivit.
*/
public ArrayList<Laskurivi> getRivit() {
return this.rivit;
}
}
package fi.utu.tech.ooj.exercise2;
/**
* Luokka kuvaa yksittäistä riviä laskussa.
*/
public class Laskurivi {
private Tuote tuote;
private int maara;
private double alennus;
/**
* Konstruktori luo uuden laskurivin.
*
* @param tuote Laskurivin tuote.
* @param maara Laskurivin tuotteiden määrä.
* @param alennus Laskurivin tuotekohtainen alennus.
*/
public Laskurivi(Tuote tuote, int maara, double alennus) {
this.tuote = tuote;
this.maara = maara;
this.alennus = alennus;
}
/**
* Metodi palauttaa laskurivin tuotteen.
*
* @return Laskurivin tuote.
*/
public Tuote getTuote() {
return this.tuote;
}
/**
* Metodi palauttaa laskurivin tuotteiden määrän.
*
* @return Laskurivin tuotteiden määrä.
*/
public int getMaara() {
return this.maara;
}
/**
* Metodi palauttaa laskurivin tuotekohtaisen alennuksen.
*
* @return Laskurivin tuotekohtainen alennus.
*/
public double getAlennus() {
return this.alennus;
}
/**
* Metodi palauttaa laskurivin rivihinnan.
*
* @return Laskurivin rivihinta.
*/
public double getRivihinta() {
double hinta = this.tuote.getHintaAlv() * this.maara;
hinta -= hinta * (this.alennus / 100.0);
return hinta;
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment