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

@Model.Title

@{ var lastSortId = ""; } @foreach (var p in Model.Deliveries) { var bins = p.Bins.Select((b, n) => (b, n + 1)).Where(b => b.Item1 > 0).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 (b, n) = bins[i]; string name = ""; switch (n) { case 1: name = $"geb. {p.SortId}{string.Join("", p.Attributes.Order().Select(a => a.AttrId).Take(2))}"; break; case 2: name = $"geb. {p.SortId}{p.Attributes.Select(a => a.AttrId).Order().FirstOrDefault()}"; break; case 3: name = $"geb. {p.SortId}{p.Attributes.Select(a => a.AttrId).Order().Skip(1).FirstOrDefault()}"; break; case 4: name = $"geb. {p.SortId}"; break; case 5: name = "ungeb."; break; } } else { } @if (first) { first = false; } lastSortId = p.SortId; } }
Lieferschein-Nr. Pos. Sorte Attribut(e) Qualitätsstufe Gradation Flächenbindung Gewicht Davon
abwerten
[°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])@name: @($"{b:N0}")@($"{p.Weight:N0}")
Gesamt: @($"{Model.Deliveries.Sum(p => p.Weight):N0}")