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;
|
public IEnumerable<(string, string, int, int, int)> MemberBuckets;
|
||||||
|
|
||||||
// 0 - none
|
// 0 - none
|
||||||
// 1 - only business shares
|
// 1 - GA only
|
||||||
// 2 - only business shares and area commitments of varieties from delivery note
|
// 2 - GA only and area commitments of varieties from delivery note
|
||||||
// 3 - full
|
// 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) {
|
public DeliveryNote(Delivery d, AppDbContext ctx) : base($"Traubenübernahmeschein Nr. {d.LsNr}", d.Member) {
|
||||||
UseBillingAddress = true;
|
UseBillingAddress = true;
|
||||||
|
@ -58,6 +58,11 @@ table.delivery-stats {
|
|||||||
break-after: avoid;
|
break-after: avoid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table.delivery-stats th,
|
||||||
|
table.delivery-stats td {
|
||||||
|
padding: 0.125mm 0;
|
||||||
|
}
|
||||||
|
|
||||||
table.delivery-stats:not(.expanded) tr.optional {
|
table.delivery-stats:not(.expanded) tr.optional {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@ -66,8 +71,8 @@ table.delivery-stats tr.subheading th {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.delivery.expanded tr.subheading:not(:has(~ tr)),
|
table.delivery-stats.expanded tr.subheading:not(:has(~ tr)),
|
||||||
table.delivery tr.subheading:not(:has(~ tr:not(.optional))) {
|
table.delivery-stats tr.subheading:not(:has(~ tr:not(.optional))) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,6 +55,8 @@ namespace Elwig.Helpers {
|
|||||||
public decimal VatReduced;
|
public decimal VatReduced;
|
||||||
public decimal VatFlatRate;
|
public decimal VatFlatRate;
|
||||||
|
|
||||||
|
public int ModeDeliveryNoteStats;
|
||||||
|
|
||||||
public string? TextDeliveryNote;
|
public string? TextDeliveryNote;
|
||||||
|
|
||||||
public ClientParameters(AppDbContext ctx) : this(ctx.ClientParameters.ToDictionary(e => e.Param, e => e.Value)) { }
|
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(".", ","));
|
VatReduced = decimal.Parse((parameters["VAT_REDUCED"] ?? "").Replace(".", ","));
|
||||||
VatFlatRate = decimal.Parse((parameters["VAT_FLATRATE"] ?? "").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") ?? "";
|
Sender2 = parameters.GetValueOrDefault("DOCUMENT_SENDER") ?? "";
|
||||||
TextDeliveryNote = parameters.GetValueOrDefault("TEXT_DELIVERYNOTE");
|
TextDeliveryNote = parameters.GetValueOrDefault("TEXT_DELIVERYNOTE");
|
||||||
} catch {
|
} catch {
|
||||||
@ -97,6 +106,13 @@ namespace Elwig.Helpers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<(string, string?)> GetParamValues() {
|
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?)[] {
|
return new (string, string?)[] {
|
||||||
("CLIENT_NAME_TOKEN", NameToken),
|
("CLIENT_NAME_TOKEN", NameToken),
|
||||||
("CLIENT_NAME_SHORT", NameShort),
|
("CLIENT_NAME_SHORT", NameShort),
|
||||||
@ -119,6 +135,7 @@ namespace Elwig.Helpers {
|
|||||||
("VAT_NORMAL", VatNormal.ToString().Replace(",", ".")),
|
("VAT_NORMAL", VatNormal.ToString().Replace(",", ".")),
|
||||||
("VAT_REDUCED", VatReduced.ToString().Replace(",", ".")),
|
("VAT_REDUCED", VatReduced.ToString().Replace(",", ".")),
|
||||||
("VAT_FLATRATE", VatFlatRate.ToString().Replace(",", ".")),
|
("VAT_FLATRATE", VatFlatRate.ToString().Replace(",", ".")),
|
||||||
|
("MODE_DELIVERYNOTE_STATS", deliveryNoteStats),
|
||||||
("DOCUMENT_SENDER", Sender2),
|
("DOCUMENT_SENDER", Sender2),
|
||||||
("TEXT_DELIVERYNOTE", TextDeliveryNote),
|
("TEXT_DELIVERYNOTE", TextDeliveryNote),
|
||||||
};
|
};
|
||||||
|
@ -215,7 +215,34 @@
|
|||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="Textelemente">
|
<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>
|
</TabItem>
|
||||||
</TabControl>
|
</TabControl>
|
||||||
|
|
||||||
|
@ -201,6 +201,14 @@ namespace Elwig.Windows {
|
|||||||
ClientEmailAddressInput.Text = p.EmailAddress;
|
ClientEmailAddressInput.Text = p.EmailAddress;
|
||||||
ClientWebsiteInput.Text = p.Website;
|
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();
|
FinishInputFilling();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,6 +230,9 @@ namespace Elwig.Windows {
|
|||||||
p.EmailAddress = ClientEmailAddressInput.Text.Length > 0 ? ClientEmailAddressInput.Text : null;
|
p.EmailAddress = ClientEmailAddressInput.Text.Length > 0 ? ClientEmailAddressInput.Text : null;
|
||||||
p.Website = ClientWebsiteInput.Text.Length > 0 ? ClientWebsiteInput.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();
|
await p.UpdateValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user