From 048a7e0f13d83c28525b5fca9a03e78edb07fa20 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sat, 2 Sep 2023 23:48:11 +0200 Subject: [PATCH] DeliveryNote: Refine forced page break condition --- Elwig/Documents/DeliveryNote.cshtml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Elwig/Documents/DeliveryNote.cshtml b/Elwig/Documents/DeliveryNote.cshtml index 173666a..8a44e82 100644 --- a/Elwig/Documents/DeliveryNote.cshtml +++ b/Elwig/Documents/DeliveryNote.cshtml @@ -5,11 +5,24 @@
@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")

@Model.Title

-@{ var forcePageBreak = Model.Delivery.Parts.Count > 2; } +@{ + var sortids = Model.Delivery.Parts.Select(p => p.SortId).ToList(); + bool displayStats = true; // Model.Delivery.Year == Model.CurrentNextSeason + + int xLines = Model.Delivery.Parts.Count() * 5 + Model.Delivery.Parts.Select(p => p.Modifiers.Count() + (p.Comment != null ? 1 : 0) + (p.Acid != null || p.Temperature != null ? 1 : 0)).Sum(); + if (Model.Delivery.Comment != null) xLines += 2; + if (displayStats) xLines += 2 + Model.MemberBuckets.Select(b => b.Item3 > 0 && b.Item4 > 0 && sortids.Contains(b.Item1[..2]) ? 1 : 0).Sum(); + + int sLines = Model.Text != null ? (Model.Text.Length + 110 - 1) / 110 : 0; + xLines += sLines + (sLines + 1) / 2; + + bool forcePageBreak = xLines > 30; +} @if (forcePageBreak) {