Compare commits
	
		
			2 Commits
		
	
	
		
			v0.2.1
			...
			ba691f4d17
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ba691f4d17 | |||
| 470f092482 | 
| @@ -14,5 +14,8 @@ | ||||
|         <address>@Model.Address</address> | ||||
|     </div> | ||||
|     <aside>@Raw(Model.Aside)</aside> | ||||
|     @if (Model.ShowDateAndLocation) { | ||||
|         <div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div> | ||||
|     } | ||||
| </div> | ||||
| @RenderBody() | ||||
|   | ||||
| @@ -3,6 +3,8 @@ using Elwig.Models; | ||||
| namespace Elwig.Documents { | ||||
|     public abstract class BusinessDocument : Document { | ||||
|  | ||||
|         public bool ShowDateAndLocation = false; | ||||
|  | ||||
|         public Member Member; | ||||
|         public bool IncludeSender = false; | ||||
|         public bool UseBillingAddress = false; | ||||
|   | ||||
| @@ -7,7 +7,6 @@ | ||||
|     var bucketNum = Model.BucketNames.Length; | ||||
| } | ||||
| <main> | ||||
|     <div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div> | ||||
|     <h1>@Model.Title</h1> | ||||
|     <table class="credit"> | ||||
|         <colgroup> | ||||
|   | ||||
| @@ -16,6 +16,7 @@ namespace Elwig.Documents { | ||||
|  | ||||
|         public CreditNote(Credit c, AppDbContext ctx) : base($"Traubengutschrift Nr. {c.TgId} – {c.Payment.Variant.Name}", c.Member) { | ||||
|             UseBillingAddress = true; | ||||
|             ShowDateAndLocation = true; | ||||
|             Credit = c; | ||||
|             Aside = Aside.Replace("</table>", "") + | ||||
|                 $"<thead><tr><th colspan='2'>Gutschrift</th></tr></thead><tbody>" + | ||||
|   | ||||
| @@ -4,7 +4,6 @@ | ||||
| @{ Layout = "BusinessDocument"; } | ||||
| <link rel="stylesheet" href="file:///@Raw(Model.DataPath)\resources\style-deliverynote.css" /> | ||||
| <main> | ||||
| <div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div> | ||||
| <h1>@Model.Title</h1> | ||||
| @{ | ||||
|     bool displayStats = true;  // Model.Delivery.Year == Model.CurrentNextSeason | ||||
| @@ -127,7 +126,7 @@ | ||||
|             </colgroup> | ||||
|             <thead> | ||||
|                 <tr> | ||||
|                     <th><b>Gesamtlieferung</b> [kg]</th> | ||||
|                     <th><b>Lese @Model.Delivery.Year</b> per @($"{Model.Date:dd.MM.yyyy}") [kg]</th> | ||||
|                     <th>Lieferpflicht</th> | ||||
|                     <th>Lieferrecht</th> | ||||
|                     <th>Unterliefert</th> | ||||
| @@ -147,13 +146,14 @@ | ||||
|                             $"<td>{sum:N0}</td>"; | ||||
|                     } | ||||
|                     var sortids = Model.Delivery.Parts.Select(p => p.SortId).ToList(); | ||||
|                     var buckets = Model.MemberBuckets.GroupBy(b => b.Item1[..2]).ToDictionary(g => g.Key, g => g.Count()); | ||||
|                 } | ||||
|                 <tr> | ||||
|                     <th>Geschäftsanteile</th> | ||||
|                     <th>Gesamtlieferung</th> | ||||
|                     @Raw(FormatRow(Model.Member.DeliveryObligation, Model.Member.DeliveryRight, Model.Member.Deliveries.Where(d => d.Year == Model.Delivery.Year).Sum(d => d.Weight))) | ||||
|                 </tr> | ||||
|                 @foreach (var (id, name, right, obligation, sum) in Model.MemberBuckets.OrderBy(b => b.Item1)) { | ||||
|                     if (right > 0 && obligation > 0) { | ||||
|                     if (right > 0 || obligation > 0 || (sum > 0 && buckets[id[..2]] > 1)) { | ||||
|                         <tr class="@(sortids.Contains(id[..2]) ? "" : "optional")"> | ||||
|                             <th>@name</th> | ||||
|                             @Raw(FormatRow(obligation, right, sum)) | ||||
|   | ||||
| @@ -11,6 +11,7 @@ namespace Elwig.Documents { | ||||
|  | ||||
|         public DeliveryNote(Delivery d, AppDbContext ctx) : base($"Traubenübernahmeschein Nr. {d.LsNr}", d.Member) { | ||||
|             UseBillingAddress = true; | ||||
|             ShowDateAndLocation = true; | ||||
|             Delivery = d; | ||||
|             Aside = Aside.Replace("</table>", "") + | ||||
|                 $"<thead><tr><th colspan='2'>Lieferung</th></tr></thead><tbody>" + | ||||
|   | ||||
| @@ -9,6 +9,7 @@ namespace Elwig.Documents { | ||||
|         private TempFile? PdfFile = null; | ||||
|  | ||||
|         public bool ShowFoldMarks = App.Config.Debug; | ||||
|  | ||||
|         public string DataPath; | ||||
|         public int CurrentNextSeason; | ||||
|         public string? DocumentId; | ||||
| @@ -23,8 +24,8 @@ namespace Elwig.Documents { | ||||
|             DataPath = App.DataPath; | ||||
|             CurrentNextSeason = Utils.CurrentNextSeason; | ||||
|             Title = title; | ||||
|             Author = App.Client.NameFull; | ||||
|             Header = $"<h1>{c.Name}</h1>"; | ||||
|             Author = c.NameFull; | ||||
|             Header = $"<div class='name'>{c.Name}</div><div class='suffix'>{c.NameSuffix}</div>"; | ||||
|             Footer = Utils.GenerateFooter("<br/>", " \u00b7 ") | ||||
|                 .Item(c.NameFull).NextLine() | ||||
|                 .Item(c.Address).Item($"{c.Plz} {c.Ort}").Item("Österreich").Item("Tel.", c.PhoneNr).Item("Fax", c.FaxNr).NextLine() | ||||
|   | ||||
| @@ -14,6 +14,13 @@ | ||||
|     position: relative; | ||||
| } | ||||
|  | ||||
| .info-wrapper .date { | ||||
|     text-align: right; | ||||
|     position: absolute; | ||||
|     right: 0; | ||||
|     bottom: -1.5em; | ||||
| } | ||||
|  | ||||
| .address-wrapper { | ||||
|     height: 45mm; | ||||
|     width: 85mm; | ||||
| @@ -80,7 +87,7 @@ main > *:first-child { | ||||
|     margin-top: 0; | ||||
| } | ||||
|  | ||||
| .main-wrapper h1, .main-wrapper p { | ||||
| main h1, .main-wrapper p { | ||||
|     font-size: 12pt; | ||||
|     margin: 1em 0; | ||||
|     text-align: justify; | ||||
| @@ -92,12 +99,8 @@ main > *:first-child { | ||||
|     hyphens: manual; | ||||
| } | ||||
|  | ||||
| .main-wrapper .date { | ||||
|     margin-bottom: 2em; | ||||
|     text-align: right; | ||||
| } | ||||
|  | ||||
| .main-wrapper h1 { | ||||
| main h1 { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 2em; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,4 +1,8 @@ | ||||
|  | ||||
| main h1 { | ||||
|     margin-bottom: 1.5em !important; | ||||
| } | ||||
|  | ||||
| table.delivery { | ||||
|     margin-bottom: 5mm; | ||||
| } | ||||
|   | ||||
| @@ -29,7 +29,7 @@ table th { | ||||
|  | ||||
| header { | ||||
|     height: 45mm; | ||||
|     padding: 5mm; | ||||
|     padding: 10mm 0 0 0; | ||||
|     position: absolute; | ||||
|     top: -25mm; | ||||
|     left: 0; | ||||
| @@ -38,9 +38,15 @@ header { | ||||
|     overflow: hidden; | ||||
| } | ||||
|  | ||||
| header h1 { | ||||
| header .name { | ||||
|     font-size: 18pt; | ||||
|     margin-top: 10mm; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| header .suffix { | ||||
|     font-size: 12pt; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| .footer-wrapper { | ||||
|   | ||||
| @@ -272,22 +272,21 @@ | ||||
|                           VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10,75,10,10" Grid.Column="0" Grid.ColumnSpan="2" | ||||
|                           Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"/> | ||||
|  | ||||
|                 <Button x:Name="WeighingManualButton" Content="Handwiegung" Width="120" | ||||
|                         Click="WeighingManualButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,10,10,10" Grid.Column="2"/> | ||||
|                 <Button x:Name="WeighingAButton" Content="Wiegen A" Width="120" | ||||
|                         Click="WeighingButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,42,10,10" Grid.Column="2"/> | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,10,10,10" Grid.Column="2"/> | ||||
|                 <Button x:Name="WeighingBButton" Content="Wiegen B" Width="120" | ||||
|                         Click="WeighingButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,74,10,10" Grid.Column="2"/> | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,42,10,10" Grid.Column="2"/> | ||||
|                 <Button x:Name="WeighingCButton" Content="Wiegen C" Width="120" | ||||
|                         Click="WeighingButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,106,10,10" Grid.Column="2"/> | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,74,10,10" Grid.Column="2"/> | ||||
|                 <Button x:Name="WeighingDButton" Content="Wiegen D" Width="120" | ||||
|                         Click="WeighingButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,106,10,10" Grid.Column="2"/> | ||||
|                 <Button x:Name="WeighingManualButton" Content="Handwiegung" Width="120" | ||||
|                         Click="WeighingManualButton_Click" | ||||
|                         VerticalAlignment="Top" HorizontalAlignment="Right" Margin="10,138,10,10" Grid.Column="2"/> | ||||
|  | ||||
|             </Grid> | ||||
|         </GroupBox> | ||||
|  | ||||
|   | ||||
| @@ -76,6 +76,7 @@ namespace Elwig.Windows { | ||||
|                 if (n >= 2) WeighingBButton.Content = $"Wiegen {App.Scales[1].ScaleId}"; | ||||
|                 if (n >= 3) WeighingCButton.Content = $"Wiegen {App.Scales[2].ScaleId}"; | ||||
|                 if (n >= 4) WeighingDButton.Content = $"Wiegen {App.Scales[3].ScaleId}"; | ||||
|                 WeighingManualButton.Margin = new Thickness(10, 10 + n * 32, 10, 10); | ||||
|             } else { | ||||
|                 WeighingManualButton.Visibility = Visibility.Hidden; | ||||
|                 WeighingAButton.Visibility = Visibility.Hidden; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user