hinzufügen der Berechnung für die Anzahl aller waren im Warenkorb, dem Versandpreis, dem brutto, sowie Nettopreis mit den jeweiligen unterscheidungen
main
Fatima Zehra Ulu 2025-12-15 01:30:00 +01:00
parent 70e4b9e3fb
commit d77718aa96
1 changed files with 98 additions and 0 deletions

View File

@ -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;
}
}