Skip to content
Snippets Groups Projects
Commit 98516125 authored by Kasperi Kovanen's avatar Kasperi Kovanen
Browse files

tehtävä1 tehty

parent 8d82d6f6
Branches main
No related tags found
No related merge requests found
......@@ -2,28 +2,28 @@ import java.util.ArrayList;
import java.util.HashMap;
public class Verkkokauppa {
private ArrayList<Asiakas> asiakkaat;
private ArrayList<Tuote> tuotteet;
private ArrayList<Myyja> myyjat;
private HashMap<String, Asiakas> asiakkaat;
private HashMap<String, Tuote> tuotteet;
private HashMap<String, Myyja> myyjat;
private ArrayList<Ostotapahtuma> tapahtumat;
public Verkkokauppa() {
asiakkaat = new ArrayList<>();
tuotteet = new ArrayList<>();
myyjat = new ArrayList<>();
asiakkaat = new HashMap<>();
tuotteet = new HashMap<>();
myyjat = new HashMap<>();
tapahtumat = new ArrayList<>();
}
public void lisaaAsiakas(Asiakas asiakas) {
asiakkaat.add(asiakas);
asiakkaat.put(asiakas.getAsiakasNumero(), asiakas);
}
public void lisaaTuote(Tuote tuote) {
tuotteet.add(tuote);
tuotteet.put(tuote.getNimi(), tuote);
}
public void lisaaMyyja(Myyja myyja) {
myyjat.add(myyja);
myyjat.put(myyja.getTunniste(), myyja);
}
public void lisaaTapahtuma(Ostotapahtuma tapahtuma) {
......@@ -37,8 +37,8 @@ public class Verkkokauppa {
* @return true, jos asiakas löytyi ja poistettiin, muuten false
*/
public boolean poistaAsiakas(Asiakas asiakas) {
if (asiakkaat.contains(asiakas)) {
asiakkaat.remove(asiakas);
if (asiakkaat.containsKey(asiakas.getAsiakasNumero())) {
asiakkaat.remove(asiakas.getAsiakasNumero());
return true;
}
return false;
......@@ -51,8 +51,8 @@ public class Verkkokauppa {
* @return true, jos tuote löytyi ja poistettiin, muuten false
*/
public boolean poistaTuote(Tuote tuote) {
if (tuotteet.contains(tuote)) {
tuotteet.remove(tuote);
if (tuotteet.containsKey(tuote.getNimi())) {
tuotteet.remove(tuote.getNimi());
return true;
}
return false;
......@@ -65,8 +65,8 @@ public class Verkkokauppa {
* @return true, jos myyjä löytyi ja poistettiin, muuten false
*/
public boolean poistaMyyja(Myyja myyja) {
if (myyjat.contains(myyja)) {
myyjat.remove(myyja);
if (myyjat.containsKey(myyja.getTunniste())) {
myyjat.remove(myyja.getTunniste());
return true;
}
return false;
......@@ -79,7 +79,7 @@ public class Verkkokauppa {
* @return true, jos ostotapahtuma löytyi ja poistettiin, muuten false
*/
public boolean poistaOstotapahtuma(Ostotapahtuma tapahtuma) {
if (tapahtumat.contains(tapahtuma)) {
if (tapahtumat.containsKey(tapahtuma)) {
tapahtumat.remove(tapahtuma);
return true;
}
......@@ -94,11 +94,11 @@ public class Verkkokauppa {
* @return pyydetyn asiakkaan tai null, jos asiakasta ei löydy
*/
public Asiakas annaAsiakas(String asiakasnumero) {
for (Asiakas asiakas : asiakkaat) {
if (asiakas.getAsiakasNumero().equals(asiakasnumero)) {
return asiakas;
}
if (asiakkaat.containsKey(asiakasnumero)) {
return asiakkaat.get(asiakasnumero);
}
return null;
}
......@@ -110,10 +110,8 @@ public class Verkkokauppa {
* @return pyydetyn tuotteen tai null, jos tuotetta ei löydy
*/
public Tuote annaTuote(String nimi) {
for (Tuote tuote : tuotteet) {
if (tuote.getNimi().equals(nimi)) {
return tuote;
}
if (tuotteet.containsKey(nimi)) {
return tuotteet.get(nimi);
}
return null;
}
......@@ -126,10 +124,8 @@ public class Verkkokauppa {
* @return pyydetyn myyjän tai null, jos myyjää ei löydy
*/
public Myyja annaMyyja(String tunniste) {
for (Myyja myyja : myyjat) {
if (myyja.getTunniste().equals(tunniste)) {
return myyja;
}
if (myyjat.containsKey(tunniste)) {
return myyjat.get(tunniste);
}
return null;
}
......@@ -160,7 +156,8 @@ public class Verkkokauppa {
// \t on tabulaattori, joka tasaa tulosteen
// sarakkeisiin; \n tekee rivinvaihdon
StringBuilder s = new StringBuilder("Asiakasnumero\tNimi\t\t\tOstoja\tKanta-asiakas\n");
for (Asiakas asiakas : asiakkaat) {
for (String avain : asiakkaat.keySet()) {
Asiakas asiakas = asiakkaat.get(avain);
s.append(asiakas.getAsiakasNumero() + "\t\t\t");
s.append(asiakas.getNimi() + "\t");
s.append(asiakas.getOstojaTehty() + "\t\t");
......@@ -183,7 +180,8 @@ public class Verkkokauppa {
// \t on tabulaattori, joka tasaa tulosteen
// sarakkeisiin; \n tekee rivinvaihdon
StringBuilder s = new StringBuilder("Tunniste\tNimi\t\t\tProvisiot\n");
for (Myyja myyja : myyjat) {
for (String avain : myyjat.keySet()) {
Myyja myyja = myyjat.get(avain);
s.append(myyja.getTunniste() + "\t\t");
s.append(myyja.getNimi() + "\t\t");
s.append(myyja.getProvisiot() + "\n");
......@@ -201,7 +199,8 @@ public class Verkkokauppa {
// \t on tabulaattori, joka tasaa tulosteen
// sarakkeisiin; \n tekee rivinvaihdon
StringBuilder s = new StringBuilder("Nimi\tSaldo\t\t\tHinta\tVirtuaalinen\n");
for (Tuote tuote : tuotteet) {
for (String avain : tuotteet.keySet()) {
Tuote tuote = tuotteet.get(avain);
s.append(tuote.getNimi() + "\t");
s.append(tuote.getSaldo() + "\t\t");
s.append(tuote.getHinta() + "\t");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment