DeliveryNote: Make stats changeable in BaseDataWindow
This commit is contained in:
@ -10,10 +10,10 @@ namespace Elwig.Documents {
|
||||
public IEnumerable<(string, string, int, int, int)> MemberBuckets;
|
||||
|
||||
// 0 - none
|
||||
// 1 - only business shares
|
||||
// 2 - only business shares and area commitments of varieties from delivery note
|
||||
// 1 - GA only
|
||||
// 2 - GA only and area commitments of varieties from delivery note
|
||||
// 3 - full
|
||||
public int DisplayStats = 2;
|
||||
public int DisplayStats = App.Client.ModeDeliveryNoteStats;
|
||||
|
||||
public DeliveryNote(Delivery d, AppDbContext ctx) : base($"Traubenübernahmeschein Nr. {d.LsNr}", d.Member) {
|
||||
UseBillingAddress = true;
|
||||
|
@ -58,6 +58,11 @@ table.delivery-stats {
|
||||
break-after: avoid;
|
||||
}
|
||||
|
||||
table.delivery-stats th,
|
||||
table.delivery-stats td {
|
||||
padding: 0.125mm 0;
|
||||
}
|
||||
|
||||
table.delivery-stats:not(.expanded) tr.optional {
|
||||
display: none;
|
||||
}
|
||||
@ -66,8 +71,8 @@ table.delivery-stats tr.subheading th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.delivery.expanded tr.subheading:not(:has(~ tr)),
|
||||
table.delivery tr.subheading:not(:has(~ tr:not(.optional))) {
|
||||
table.delivery-stats.expanded tr.subheading:not(:has(~ tr)),
|
||||
table.delivery-stats tr.subheading:not(:has(~ tr:not(.optional))) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
@ -55,6 +55,8 @@ namespace Elwig.Helpers {
|
||||
public decimal VatReduced;
|
||||
public decimal VatFlatRate;
|
||||
|
||||
public int ModeDeliveryNoteStats;
|
||||
|
||||
public string? TextDeliveryNote;
|
||||
|
||||
public ClientParameters(AppDbContext ctx) : this(ctx.ClientParameters.ToDictionary(e => e.Param, e => e.Value)) { }
|
||||
@ -89,6 +91,13 @@ namespace Elwig.Helpers {
|
||||
VatReduced = decimal.Parse((parameters["VAT_REDUCED"] ?? "").Replace(".", ","));
|
||||
VatFlatRate = decimal.Parse((parameters["VAT_FLATRATE"] ?? "").Replace(".", ","));
|
||||
|
||||
switch (parameters.GetValueOrDefault("MODE_DELIVERYNOTE_STATS", "SHORT")?.ToUpper()) {
|
||||
case "NONE": ModeDeliveryNoteStats = 0; break;
|
||||
case "GA_ONLY": ModeDeliveryNoteStats = 1; break;
|
||||
case "SHORT": ModeDeliveryNoteStats = 2; break;
|
||||
case "FULL": ModeDeliveryNoteStats = 3; break;
|
||||
}
|
||||
|
||||
Sender2 = parameters.GetValueOrDefault("DOCUMENT_SENDER") ?? "";
|
||||
TextDeliveryNote = parameters.GetValueOrDefault("TEXT_DELIVERYNOTE");
|
||||
} catch {
|
||||
@ -97,6 +106,13 @@ namespace Elwig.Helpers {
|
||||
}
|
||||
|
||||
private IEnumerable<(string, string?)> GetParamValues() {
|
||||
string deliveryNoteStats = "SHORT";
|
||||
switch (ModeDeliveryNoteStats) {
|
||||
case 0: deliveryNoteStats = "NONE"; break;
|
||||
case 1: deliveryNoteStats = "GA_ONLY"; break;
|
||||
case 2: deliveryNoteStats = "SHORT"; break;
|
||||
case 3: deliveryNoteStats = "FULL"; break;
|
||||
}
|
||||
return new (string, string?)[] {
|
||||
("CLIENT_NAME_TOKEN", NameToken),
|
||||
("CLIENT_NAME_SHORT", NameShort),
|
||||
@ -119,6 +135,7 @@ namespace Elwig.Helpers {
|
||||
("VAT_NORMAL", VatNormal.ToString().Replace(",", ".")),
|
||||
("VAT_REDUCED", VatReduced.ToString().Replace(",", ".")),
|
||||
("VAT_FLATRATE", VatFlatRate.ToString().Replace(",", ".")),
|
||||
("MODE_DELIVERYNOTE_STATS", deliveryNoteStats),
|
||||
("DOCUMENT_SENDER", Sender2),
|
||||
("TEXT_DELIVERYNOTE", TextDeliveryNote),
|
||||
};
|
||||
|
@ -215,7 +215,34 @@
|
||||
|
||||
</TabItem>
|
||||
<TabItem Header="Textelemente">
|
||||
<ScrollViewer VerticalScrollBarVisibility="Visible">
|
||||
<StackPanel>
|
||||
<GroupBox Header="Lieferschein" Margin="10,10,10,10" Height="180">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="370"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBox x:Name="TextElementDeliveryNote" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10,10,10,10" Height="Auto"
|
||||
TextChanged="TextBox_TextChanged"/>
|
||||
<GroupBox Grid.Column="1" Header="Tabelle zur Gesamtlieferung" Margin="10,10,10,10" VerticalAlignment="Center">
|
||||
<StackPanel Margin="5,5,0,5">
|
||||
<RadioButton GroupName="ModeDeliveryNote" x:Name="ModeDeliveryNoteNone" Content="Verbergen"
|
||||
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"/>
|
||||
<RadioButton GroupName="ModeDeliveryNote" x:Name="ModeDeliveryNoteGaOnly" Content="Nur Gesamtlieferung lt. Geschäftsanteilen anzeigen"
|
||||
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"/>
|
||||
<RadioButton GroupName="ModeDeliveryNote" x:Name="ModeDeliveryNoteShort" Content="Nur Gesamtlieferung und Flächenbindungen von auf dem
Lieferschein angeführten Sorten anzeigen"
|
||||
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"/>
|
||||
<RadioButton GroupName="ModeDeliveryNote" x:Name="ModeDeliveryNoteFull" Content="Vollständig anzeigen"
|
||||
Checked="RadioButton_Changed" Unchecked="RadioButton_Changed"/>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
|
@ -201,6 +201,14 @@ namespace Elwig.Windows {
|
||||
ClientEmailAddressInput.Text = p.EmailAddress;
|
||||
ClientWebsiteInput.Text = p.Website;
|
||||
|
||||
TextElementDeliveryNote.Text = p.TextDeliveryNote;
|
||||
switch (p.ModeDeliveryNoteStats) {
|
||||
case 0: ModeDeliveryNoteNone.IsChecked = true; break;
|
||||
case 1: ModeDeliveryNoteGaOnly.IsChecked = true; break;
|
||||
case 2: ModeDeliveryNoteShort.IsChecked = true; break;
|
||||
case 3: ModeDeliveryNoteFull.IsChecked = true; break;
|
||||
}
|
||||
|
||||
FinishInputFilling();
|
||||
}
|
||||
|
||||
@ -222,6 +230,9 @@ namespace Elwig.Windows {
|
||||
p.EmailAddress = ClientEmailAddressInput.Text.Length > 0 ? ClientEmailAddressInput.Text : null;
|
||||
p.Website = ClientWebsiteInput.Text.Length > 0 ? ClientWebsiteInput.Text : null;
|
||||
|
||||
p.TextDeliveryNote = TextElementDeliveryNote.Text.Length > 0 ? TextElementDeliveryNote.Text : null;
|
||||
p.ModeDeliveryNoteStats = (ModeDeliveryNoteNone.IsChecked == true) ? 0 : (ModeDeliveryNoteGaOnly.IsChecked == true) ? 1 : (ModeDeliveryNoteShort.IsChecked == true) ? 2 : (ModeDeliveryNoteFull.IsChecked == true) ? 3 : 2;
|
||||
|
||||
await p.UpdateValues();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user