DeliveryNote: Make stats changeable in BaseDataWindow

This commit is contained in:
2023-10-10 19:19:29 +02:00
parent 91a3786cd9
commit 7d8c670ed2
5 changed files with 65 additions and 5 deletions

View File

@ -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),
};