@using RazorLight @inherits TemplatePage @model Elwig.Documents.DeliveryConfirmation @{ Layout = "BusinessDocument"; }

@Model.Title

@{ var lastSortId = ""; } @foreach (var p in Model.Deliveries) { var bins = p.Bins.Where(b => b.Value > 0).OrderByDescending(b => b.BinNr).ToArray(); var rowsBins = bins.Length; var mods = p.Modifiers.Select(m => m.Name).ToArray(); var rowsMod = mods.Length + 1; var rows = Math.Max(rowsBins, rowsMod); var first = true; @for (int i = 0; i < rows; i++) { i + 1 ? "trailing" : "")"> @if (first) { } @if (i > 0 && i <= mods.Length) { } else if (i > 0) { } @if (i < bins.Length) { var bin = bins[i]; } else { } @if (i == bins.Length - 1) { } else { } @if (first) { first = false; } lastSortId = p.SortId; } }
Lieferschein-Nr. Pos. Sorte Attribut(e) Qualitätsstufe Gradation Flächenbindung Gewicht Davon
abzuwerten
[°Oe] [°KMW] [kg] [kg] [kg]
@p.Delivery.LsNr @p.DPNr @p.Variant.Name @p.AttributesString @p.Quality.Name @($"{p.Oe:N0}") @($"{p.Kmw:N1}")@(mods[i - 1])@(bin.Discr == "_" ? "ungeb." : $"geb. {p.SortId}{bin.Discr}"): @($"{bin.Value:N0}")@($"{p.Weight:N0}")
Gesamt: @($"{Model.Deliveries.Sum(p => p.Weight):N0}")
@{ string FormatRow(int mode, int obligation, int right, int sum, int? payment = null) { var isGa = mode == 0; payment ??= sum; return $"" + $"" + $"" + $"" + $"" + $"" + $""; } var mBins = Model.MemberBins.Where(b => b.Value.Item2 > 0 || b.Value.Item3 > 0 || b.Value.Item4 > 0).ToList(); var fbVars = mBins.Where(b => b.Value.Item2 > 0 || b.Value.Item3 > 0).Select(b => b.Key.Replace("_", "")).Order().ToArray(); var fbs = mBins.Where(b => fbVars.Contains(b.Key)).OrderBy(b => b.Value.Item1); var rem = mBins.Where(b => !fbVars.Contains(b.Key)).OrderBy(b => b.Value.Item1); } @Raw(FormatRow(0, Model.Member.DeliveryObligation, Model.Member.DeliveryRight, Model.Member.Deliveries.Where(d => d.Year == Model.Year).Sum(d => d.Weight))) @if (rem.Any()) { } @foreach (var (id, (name, right, obligation, sum, payment)) in rem) { @Raw(FormatRow(1, obligation, right, sum, payment)) } @if (fbs.Any()){ } @foreach (var (id, (name, right, obligation, sum, payment)) in fbs) { @Raw(FormatRow(2, obligation, right, sum, payment)) }
Lese @Model.Year per @($"{Model.Date:dd.MM.yyyy}") [kg] Lieferpflicht Lieferrecht Unterliefert Noch lieferbar Überliefert Zugeteilt Geliefert
{(mode == 1 ? "" : obligation == 0 ? "-" : $"{obligation:N0}")}{(mode == 1 ? "" : right == 0 ? "-" : $"{right:N0}")}{(mode == 1 ? "" : payment < obligation ? $"{obligation - payment:N0}\x3c/b>" : "-")}{(mode == 1 ? "" : payment >= obligation && sum <= right ? $"{right - sum:N0}" : "-")}{(mode == 1 ? "" : obligation == 0 && right == 0 ? "-" : (sum > right ? ((isGa ? "" : "") + $"{sum - right:N0}" + (isGa ? "" : "")) : "-"))}{(mode != 2 ? "" : obligation == 0 && right == 0 ? "-" : $"{payment:N0}")}{sum:N0}
Gesamtlieferung lt. gez. GA
Sortenaufteilung:
@name
Flächenbindungen:
@name
@if (Model.Text != null) {

@Model.Text

}