@using RazorLight @using Elwig.Helpers @inherits TemplatePage @model Elwig.Documents.PaymentVariantSummary @{ Layout = "Document"; }

Auszahlungsvariante Lese @Model.Variant.Year

@Model.Variant.Name

@{ //var sum1 = Model.Variant.DeliveryPartPayments.Sum(p => p.NetAmount); //var sum2 = Model.Variant.Credits.Sum(p => p.); //Model.Variant.MemberPayments.Sum(p => p.Amount); var modifiers = Model.Variant.DeliveryPartPayments.Sum(p => p.Amount - p.NetAmount); var sum2 = Model.Variant.Credits.Sum(p => p.NetAmount); var sum1 = sum2 - modifiers; var payed = -Model.Variant.Credits.Sum(p => p.PrevNetAmount ?? 0m); var netSum = Model.Variant.Credits.Sum(p => p.NetAmount) - Model.Variant.Credits.Sum(p => p.PrevNetAmount ?? 0m); var vat = Model.Variant.Credits.Sum(p => p.VatAmount); var grossSum = Model.Variant.Credits.Sum(p => p.GrossAmount); var totalMods = Model.Variant.Credits.Sum(p => p.Modifiers ?? 0m); var considered = -Model.Variant.Credits.Sum(p => p.PrevModifiers ?? 0m); var totalSum = Model.Variant.Credits.Sum(p => p.Amount); } @{ var weiRows = Model.Data.Rows.Where(r => r.QualityLevel == "Wein"); var minWei = weiRows.Min(r => r.Ungeb.Price); var maxWei = weiRows.Max(r => r.Ungeb.Price); } @{ var quwRows = Model.Data.Rows.Where(r => r.QualityLevel != "Wein"); var minPrice = quwRows.Min(r => r.Ungeb.Price); var maxPrice = quwRows.Max(r => r.Ungeb.Price); } @{ var gebRows = Model.Data.Rows .Where(r => r.Geb.Price != null && r.Ungeb.Price != null) .Select(r => r.Geb.Price - r.Ungeb.Price); var minGeb = gebRows.Min(); var maxGeb = gebRows.Max(); }
Allgemein Berücksichtigt
Name: @Model.Variant.Name Zu-/Abschläge bei Lieferungen: @(Model.BillingData.ConsiderDelieryModifiers ? "Ja" : "Nein")
Beschr.: @Model.Variant.Comment Pönalen bei Unterlieferungen (FB): @(Model.BillingData.ConsiderContractPenalties ? "Ja" : "Nein")
Nto./bto.-Zuschl: @($"{Utils.GetSign(Model.BillingData.NetWeightModifier)}{Math.Abs(Model.BillingData.NetWeightModifier) * 100:N2}") % / @($"{Utils.GetSign(Model.BillingData.GrossWeightModifier)}{Math.Abs(Model.BillingData.GrossWeightModifier) * 100:N2}") % Strafen bei Unterlieferungen (GA): @(Model.BillingData.ConsiderTotalPenalty ? "Ja" : "Nein")
Datum/Überw.: @($"{Model.Variant.Date:dd.MM.yyyy}") / @($"{Model.Variant.TransferDate:dd.MM.yyyy}") Automatische Nachzeichnung der GA: @(Model.BillingData.ConsiderAutoBusinessShares ? "Ja" : "Nein")
Berechnung: @($"{Model.Variant.CalcTime:dd.MM.yyyy, HH:mm:ss}") Benutzerdef. Zu-/Abschläge pro Mitglied: @(Model.BillingData.ConsiderCustomModifiers ? "Ja" : "Nein")
Beträge Statistik
Zwischensumme: @Model.CurrencySymbol@($"{sum1:N2}") Lieferanten: @($"{Model.MemberNum:N0}")
Zu-/Abschläge (Lieferungen): @Utils.GetSign(modifiers) @Model.CurrencySymbol@($"{Math.Abs(modifiers):N2}") Lieferungen: @($"{Model.DeliveryNum:N0}")
Gesamtsumme: @Model.CurrencySymbol@($"{sum2:N2}") Teillieferungen: @($"{Model.DeliveryPartNum:N0}")
Bisher ausgezahlt: @Utils.GetSign(payed) @Model.CurrencySymbol@($"{Math.Abs(payed):N2}")
Nettosumme: @Model.CurrencySymbol@($"{netSum:N2}")Preis (abgewertet): @(minWei != maxWei ? $"{minWei:N4}–{maxWei:N4}" : $"{minWei:N4}") @Model.CurrencySymbol/kg
Mehrwertsteuer: @Utils.GetSign(vat) @Model.CurrencySymbol@($"{Math.Abs(vat):N2}")Preis (ungeb., nicht abgew.): @(minPrice != maxPrice ? $"{minPrice:N4}–{maxPrice:N4}" : $"{minPrice:N4}") @Model.CurrencySymbol/kg
Bruttosumme: @Model.CurrencySymbol@($"{grossSum:N2}")Gebunden-Zuschlag: @(minGeb != maxGeb ? $"{minGeb:N4}–{maxGeb:N4} {Model.CurrencySymbol}/kg" : minGeb == 0 ? "-" : $"{minGeb:N4} {Model.CurrencySymbol}/kg")
Abzüge (Strafen/Pönalen, GA, ...): @Utils.GetSign(totalMods) @Model.CurrencySymbol@($"{Math.Abs(totalMods):N2}") Menge (ungebunden): @($"{Model.Data.Rows.Sum(r => r.Ungeb.Weight):N0}") kg
Bereits berücksichtigte Abzüge: @Utils.GetSign(considered) @Model.CurrencySymbol@($"{Math.Abs(considered):N2}") Menge (gebunden): @($"{Model.Data.Rows.Sum(r => r.Geb.Weight):N0}") kg
Auszahlungsbetrag: @Model.CurrencySymbol@($"{totalSum:N2}") Gesamtmenge: @($"{Model.Data.Rows.Sum(r => r.Ungeb.Weight + r.Geb.Weight):N0}") kg
@foreach (var m in Model.ModifierStat) { var mod = Model.Modifiers[m.ModId]; }
Statistik Zu-/Abschläge
Name Zu-/Abschlag Lieferungen Minimum Maximum Betrag
[#] [@Model.CurrencySymbol] [@Model.CurrencySymbol] [@Model.CurrencySymbol]
@mod.Name @mod.ValueStr @($"{m.Count:N0}") @($"{m.Min:N2}") @($"{m.Max:N2}") @($"{m.Sum:N2}")
@{ string? lastHdr = null; } @foreach (var row in Model.Data.Rows) { var hdr = $"{row.Variety}{(row.Attribute != null ? " / " : "")}{row.Attribute}{(row.Cultivation != null ? " / " : "")}{row.Cultivation}"; if (lastHdr != hdr) { var rows = Model.Data.Rows .Where(r => r.Variety == row.Variety && r.Attribute == row.Attribute && r.Cultivation == row.Cultivation) .ToList(); } lastHdr = hdr; }
Qualitätsstufe Gradation ungebunden gebunden Gesamt
[@(true ? "°Oe" : "°KMW")] [kg] [@(Model.CurrencySymbol)/kg] [kg] [@(Model.CurrencySymbol)/kg] [@(Model.CurrencySymbol)]
@hdr @($"{rows.Sum(r => r.Ungeb.Weight):N0}") @($"{rows.Sum(r => r.Geb.Weight):N0}") @($"{rows.Sum(r => r.Amount):N2}")
@(row.QualityLevel) @($"{row.Oe:N0}") @(row.Ungeb.Weight != 0 ? $"{row.Ungeb.Weight:N0}" : "-") @(row.Ungeb.Price != null ? $"{row.Ungeb.Price:N4}" : "-") @(row.Geb.Weight != 0 ? $"{row.Geb.Weight:N0}" : "-") @(row.Geb.Price != null ? $"{row.Geb.Price:N4}" : "-") @($"{row.Amount:N2}")