Ich versuche herauszufinden, wie Sie anwenden "Versandkosten sind $ 3,99 für den ersten Artikel und $ .99 für jeden zusätzlichen Artikel" in meiner Warenkorb-Ansicht.Berechnung der gesamten Versand in ASP.NET MVC
Im Moment habe ich
@{
double itemTotal = 0;
double subTotal = 0;
int totalQty = 0;
double discount = 0.8;
double shippingBase = 3.99;
double shippingItem = 0.99;
double totalShipping = 0;
}
@foreach (var item in Model)
{
double price = (double)item.price/100 * discount;
itemTotal = @item.qty * price;
subTotal += itemTotal;
totalQty += @item.qty;
Ich bin nicht sicher, wie dies zu nähern. Würde ich eine foreach-Schleife verwenden, um die Gesamtquantitäten zu zählen, und wenn die Quantität größer als diese ist, würde es 3,99 + 99 addieren?
Besser diese Berechnung in einem Controller und ein entsprechendes ViewModel zurückgeben. Verwenden Sie keine View für Geschäftslogik – Steve
Der Kalkül der Versandkosten kann in einer Cart-Klasse durchgeführt werden. Die Warenkorbklasse kann die Eigenschaft Artikel des Typs IEnumerable- und eine Eigenschaft ShippingCost enthalten, in der die für die Versandberechnung definierte Logik implementiert ist. Dann definieren Sie in der CartViewModel-Klasse ein anderes IEnumerable, um die zu rendernden Elemente in der Ansicht mithilfe von @foreach und einer Eigenschaft ShippingCost vom Typ decimal zu speichern, in der die Kosten für den Versand gespeichert werden. Der Controller erstellt die Instanz der CartViewModel-Klasse und legt Items und ShippingCost fest. –
Sind Gebühren auf unterschiedliche Artikel oder Gesamtmenge bezogen? Es ist nicht klar, da die angegebene Gebühr nach dem ersten "Element" unterschiedlich ist. aber ein Gegenstand hat eine Menge. – Nkosi