Commit 4
hinzufügen der Berechnung für die Anzahl aller waren im Warenkorb, dem Versandpreis, dem brutto, sowie Nettopreis mit den jeweiligen unterscheidungenmain
parent
70e4b9e3fb
commit
d77718aa96
98
Cart.java
98
Cart.java
|
|
@ -41,5 +41,103 @@ public class Cart {
|
|||
return false;
|
||||
}
|
||||
|
||||
public int AmountAllCart (){
|
||||
return cartContents.size();
|
||||
}
|
||||
|
||||
public double GrossAmountProd (){
|
||||
double gross = 0.0;
|
||||
for(Products prod: cartContents) {
|
||||
gross += prod.getGrossPrice();
|
||||
}
|
||||
return gross;
|
||||
}
|
||||
|
||||
public double ContentsMass() {
|
||||
double weights = 0.0;
|
||||
for(Products prod: cartContents) {
|
||||
weights += prod.getWeight();
|
||||
}
|
||||
return weights;
|
||||
}
|
||||
|
||||
public double ContentsNetWorth() {
|
||||
double netWorth = 0.0;
|
||||
for(Products prod: cartContents) {
|
||||
netWorth += prod.getNetWorth();
|
||||
}
|
||||
return netWorth;
|
||||
}
|
||||
|
||||
|
||||
public double deliveryCost () {
|
||||
|
||||
double weight = ContentsMass();
|
||||
double delivery = 0;
|
||||
|
||||
//Bedingungen für die Versandkosten:
|
||||
if ( weight <= 0.1) {
|
||||
delivery = 3.95;
|
||||
}
|
||||
else if (weight > 0.1 && weight <= 1.0) {
|
||||
delivery = 4.95;
|
||||
}
|
||||
else if (weight> 1.0 && weight <= 5.0 ) {
|
||||
delivery = 5.95;
|
||||
}
|
||||
else if (weight > 5.0) {
|
||||
delivery = 19.95;
|
||||
}
|
||||
|
||||
|
||||
if (GrossAmountProd() >= 500) { //Brutto == Warenwert
|
||||
delivery = 0;}
|
||||
|
||||
return delivery;
|
||||
}
|
||||
|
||||
|
||||
public double taxDelivery(){
|
||||
double delivery = deliveryCost ();
|
||||
|
||||
double tax7perc = 0; // grosstax is 7% which means: 1/3rd of 19,95
|
||||
double tax19perc = 0; // grosstax is 19% which means: 2/3rd of 19,95
|
||||
|
||||
for (Products prod : cartContents) {
|
||||
if (prod.getNetWorth() == 7) {
|
||||
tax7perc += prod.getGrossPrice();
|
||||
}
|
||||
else if (prod.getNetWorth() == 19) {
|
||||
tax19perc += prod.getGrossPrice();
|
||||
}
|
||||
}
|
||||
//Prozentuale Anteile am gesamten Bruttopreis:
|
||||
double gross = GrossAmountProd ();
|
||||
|
||||
|
||||
if (gross == 0) { //Um Teilung durch 0 zu verhindern (wenn Warenkorb leer)
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Anteile am Versand:
|
||||
double delivery7 = delivery * (tax7perc / gross);
|
||||
double delivery19 = delivery * (tax19perc / gross);
|
||||
|
||||
//MwSt vom Versand:
|
||||
double taxDelivery7 = delivery7- (delivery7/ 1.07);
|
||||
double taxDelivery19 = delivery19 - (delivery19 / 1.19);
|
||||
|
||||
return taxDelivery7 + taxDelivery19;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public double wholeAmount () {
|
||||
|
||||
double amount = GrossAmountProd () + deliveryCost () + taxDelivery();
|
||||
|
||||
|
||||
return amount;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue