Skip to content
Snippets Groups Projects
Commit a957e23c authored by Oliver Sohlberg's avatar Oliver Sohlberg
Browse files

Teht B

parent 9b8899ef
No related branches found
No related tags found
No related merge requests found
......@@ -161,7 +161,85 @@ public class VerkkokauppaUI {
* TODO: Toteuta tämä demojen 2. tehtävänä - katso demosta tarkemmat ohjeet
*/
private void ostotapahtumaMenu() {
int valinta = -1;
while (valinta != 0) {
System.out.println("Ostotapahtumat:");
System.out.println(verkkokauppa.listaaTapahtumat());
System.out.println();
System.out.println("1. Lisää uusi ostotapahtuma");
System.out.println("2. Poista ostotapahtuma");
System.out.println("0. Palaa päävalikkoon");
valinta = lueKokonaisluku(0, 2, "Anna valinta");
if (valinta == 1) {
lisaaOstotapahtuma();
} else if (valinta == 2) {
poistaOstotapahtuma();
}
}
}
private void lisaaOstotapahtuma() {
String tunniste = lueMerkkijono("Valitse myyjä (tunniste)");
Myyja myyja = verkkokauppa.annaMyyja(tunniste);
if (myyja == null) {
System.out.println("Myyjää ei löytynyt.");
return;
}
String nimi = lueMerkkijono("Valitse tuote (nimi)");
Tuote tuote = verkkokauppa.annaTuote(nimi);
if (tuote == null) {
System.out.println("Tuotetta ei löytynyt.");
return;
}
int maara = lueKokonaisluku(1, tuote.getSaldo(), "Syötä myytävien tuotteiden määrä");
if (maara > tuote.getSaldo()) {
System.out.println("Tuotetta ei ole tarpeeksi varastossa.");
return;
}
String asnro = lueMerkkijono("Valitse asiakas (asiakasnumero)");
Asiakas asiakas = verkkokauppa.annaAsiakas(asiakasnumero);
if (asiakas == null) {
System.out.println("Asiakasta ei löytynyt.");
return;
}
double hinta = tuote.getHinta() * maara;
if (asiakas instanceof KantaAsiakas) {
hinta *= 0.9;
}
Ostotapahtuma ostotapahtuma = new Ostotapahtuma(myyja, tuote, asiakas, maara, hinta);
verkkokauppa.lisaaTapahtuma(ostotapahtuma);
tuote.setSaldo(tuote.getSaldo() - maara);
asiakas.setOstojaTehty(asiakas.getOstojaTehty() + hinta);
myyja.setProvisiot(myyja.getProvisiot() + 0.1 * hinta);
System.out.println("Ostotapahtuma lisätty!");
}
private void poistaOstotapahtuma() {
System.out.println("Valitse poistettava ostotapahtuma:");
System.out.println(verkkokauppa.listaaTapahtumat());
int valinta = lueKokonaisluku(1, verkkokauppa.listaaTapahtumat().size(), "Syötä poistettavan tapahtuman järjestysluku");
Ostotapahtuma ostotapahtuma = verkkokauppa.annaTapahtuma().get(valinta - 1);
verkkokauppa.poistaOstotapahtuma(ostotapahtuma);
ostotapahtuma.getTuote().setSaldo(ostotapahtuma.getTuote().getSaldo() + ostotapahtuma.getMaara());
ostotapahtuma.getAsiakas().setOstojaTehty(ostotapahtuma.getAsiakas().getOstojaTehty() - ostotapahtuma.getHinta());
ostotapahtuma.getMyyja().setProvisiot(ostotapahtuma.getMyyja().getProvisiot() - 0.1 * ostotapahtuma.getHinta());
System.out.println("Ostotapahtuma poistettu!");
}
private void tulostaMenu() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment