Compare commits
3 Commits
12a81bd924
...
3ab2b8a8dc
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ab2b8a8dc | |||
| 258b2b3c5b | |||
| 9e1ea293aa |
@@ -61,15 +61,21 @@ namespace Elwig {
|
|||||||
if (!ctx.Database.CanConnect()) {
|
if (!ctx.Database.CanConnect()) {
|
||||||
MessageBox.Show($"Invalid Database:\n\n{Config.DatabaseFile}", "Invalid Database", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show($"Invalid Database:\n\n{Config.DatabaseFile}", "Invalid Database", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
Shutdown();
|
Shutdown();
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
branches = ctx.Branches.ToDictionary(b => b.Name.ToLower(), b => (b.ZwstId, b.Name, b.PostalDest?.AtPlz?.Plz, b.PostalDest?.AtPlz?.Dest, b.Address, b.PhoneNr, b.FaxNr, b.MobileNr));
|
branches = ctx.Branches.ToDictionary(b => b.Name.ToLower(), b => (b.ZwstId, b.Name, b.PostalDest?.AtPlz?.Plz, b.PostalDest?.AtPlz?.Dest, b.Address, b.PhoneNr, b.FaxNr, b.MobileNr));
|
||||||
|
try {
|
||||||
|
Client = new(ctx);
|
||||||
|
} catch (Exception e) {
|
||||||
|
MessageBox.Show($"Fehler beim Laden der Mandantendaten:\n\n{e.Message}", "Fehler");
|
||||||
|
Shutdown();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Utils.RunBackground("HTML Initialization", () => Documents.Html.Init(PrintingReadyChanged));
|
Utils.RunBackground("HTML Initialization", () => Documents.Html.Init(PrintingReadyChanged));
|
||||||
Utils.RunBackground("PDF Initialization", () => Documents.Pdf.Init(PrintingReadyChanged));
|
Utils.RunBackground("PDF Initialization", () => Documents.Pdf.Init(PrintingReadyChanged));
|
||||||
|
|
||||||
Client = new();
|
|
||||||
|
|
||||||
var list = new List<IScale>();
|
var list = new List<IScale>();
|
||||||
foreach (var s in Config.Scales) {
|
foreach (var s in Config.Scales) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -70,8 +70,7 @@
|
|||||||
}
|
}
|
||||||
@if (Model.Delivery.Parts.Count() > 1) {
|
@if (Model.Delivery.Parts.Count() > 1) {
|
||||||
<tr class="main sum">
|
<tr class="main sum">
|
||||||
<td style="text-align: center;">∑</td>
|
<td colspan="6">Gesamt:</td>
|
||||||
<td colspan="5"></td>
|
|
||||||
<td style="text-align: center;">@($"{Model.Delivery.Oe:N0}")</td>
|
<td style="text-align: center;">@($"{Model.Delivery.Oe:N0}")</td>
|
||||||
<td style="text-align: center;">@($"{Model.Delivery.Kmw:N1}")</td>
|
<td style="text-align: center;">@($"{Model.Delivery.Kmw:N1}")</td>
|
||||||
<td style="text-align: right;">@($"{Model.Delivery.Weight:N0}")</td>
|
<td style="text-align: right;">@($"{Model.Delivery.Weight:N0}")</td>
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ namespace Elwig.Documents {
|
|||||||
CurrentNextSeason = Utils.CurrentNextSeason;
|
CurrentNextSeason = Utils.CurrentNextSeason;
|
||||||
Title = title;
|
Title = title;
|
||||||
Header = $"<h1>{c.Name}</h1>";
|
Header = $"<h1>{c.Name}</h1>";
|
||||||
Footer = $"{c.NameFull}<br/>" +
|
Footer = Utils.GenerateFooter("<br/>", " \u00b7 ")
|
||||||
$"{c.Address} \u00b7 {c.Plz} {c.Ort} \u00b7 Österreich \u00b7 " +
|
.Item(c.NameFull).NextLine()
|
||||||
$"Tel.: {c.PhoneNr} \u00b7 Fax: {c.FaxNr}<br/>{c.EmailAddress} \u00b7 {c.Website} \u00b7 " +
|
.Item(c.Address).Item($"{c.Plz} {c.Ort}").Item("Österreich").Item("Tel.", c.PhoneNr).Item("Fax", c.FaxNr).NextLine()
|
||||||
$"Betriebs-Nr.: {c.LfbisNr} \u00b7 UID: {c.UstId}<br/>" +
|
.Item(c.EmailAddress).Item(c.Website).Item("Betriebs-Nr.", c.LfbisNr).Item("UID", c.UstId).NextLine()
|
||||||
$"BIC: {c.Bic} \u00b7 IBAN: {c.Iban}";
|
.Item("BIC", c.Bic).Item("IBAN", c.Iban)
|
||||||
|
.ToString();
|
||||||
Date = DateTime.Today;
|
Date = DateTime.Today;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Elwig.Models;
|
using Elwig.Models;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Elwig.Helpers {
|
namespace Elwig.Helpers {
|
||||||
public class ClientParameters {
|
public class ClientParameters {
|
||||||
@@ -9,8 +11,9 @@ namespace Elwig.Helpers {
|
|||||||
public string NameShort;
|
public string NameShort;
|
||||||
public string NameShortened;
|
public string NameShortened;
|
||||||
public string Name;
|
public string Name;
|
||||||
public string NameSuffix;
|
public string? NameSuffix;
|
||||||
public string NameFull => $"{Name} {NameSuffix}";
|
public string NameType;
|
||||||
|
public string NameFull => NameSuffix == null ? $"{Name} {NameType}" : $"{Name}, {NameSuffix}, {NameType}";
|
||||||
public Type? Client;
|
public Type? Client;
|
||||||
|
|
||||||
public PostalDest PostalDest {
|
public PostalDest PostalDest {
|
||||||
@@ -35,33 +38,46 @@ namespace Elwig.Helpers {
|
|||||||
public string? EmailAddress;
|
public string? EmailAddress;
|
||||||
public string? Website;
|
public string? Website;
|
||||||
|
|
||||||
|
public int DeliveryObligation;
|
||||||
|
public int DeliveryRight;
|
||||||
|
|
||||||
public string? DeliveryNoteText;
|
public string? DeliveryNoteText;
|
||||||
|
|
||||||
public ClientParameters() {
|
public ClientParameters(AppDbContext ctx) : this(ctx.ClientParameters.ToDictionary(e => e.Param, e => e.Value)) { }
|
||||||
NameToken = "WGM";
|
|
||||||
NameShort = "WG Matzen";
|
public ClientParameters(Dictionary<string, string?> parameters) {
|
||||||
NameShortened = "Winzergenossenschaft f. Matzen u. Umgebung";
|
try {
|
||||||
Name = "Winzergenossenschaft für Matzen und Umgebung";
|
NameToken = parameters["CLIENT_NAME_TOKEN"] ?? throw new KeyNotFoundException();
|
||||||
NameSuffix = "reg. Gen.m.b.H.";
|
NameShort = parameters["CLIENT_NAME_SHORT"] ?? throw new KeyNotFoundException();
|
||||||
Client = Type.Matzen;
|
Name = parameters["CLIENT_NAME"] ?? throw new KeyNotFoundException();
|
||||||
Plz = 2243;
|
NameShortened = parameters["CLIENT_NAME_SHORTENED"] ?? Name;
|
||||||
Ort = "Matzen";
|
NameSuffix = parameters.GetValueOrDefault("CLIENT_NAME_SUFFIX");
|
||||||
Address = "Schloßstraße 6";
|
NameType = parameters["CLIENT_NAME_TYPE"] ?? throw new KeyNotFoundException();
|
||||||
PhoneNr = "+43 2289 2221";
|
switch (Name) {
|
||||||
FaxNr = "+43 2289 2221";
|
case "Winzergenossenschaft für Matzen und Umgebung": Client = Type.Matzen; break;
|
||||||
EmailAddress = "winzermatzen@aon.at";
|
case "Winzerkeller im Weinviertel": Client = Type.GWK; break;
|
||||||
Website = "winzermatzen.at";
|
};
|
||||||
LfbisNr = "0901768";
|
|
||||||
UstId = "ATU16328105";
|
Plz = int.Parse(parameters["CLIENT_PLZ"] ?? "");
|
||||||
Bic = "RLNWATWWGAE";
|
Ort = parameters["CLIENT_ORT"] ?? throw new KeyNotFoundException();
|
||||||
Iban = "AT92 3209 2000 0240 0075";
|
Address = parameters["CLIENT_ADDRESS"] ?? throw new KeyNotFoundException();
|
||||||
Sender2 = "E Österreichische Post AG Eco Brief";
|
PhoneNr = parameters.GetValueOrDefault("CLIENT_PHONE");
|
||||||
DeliveryNoteText = "Das Mitglied erklärt, dass die gelieferte Ware dem österreichischen Weingesetz entspricht und insbesondere die " +
|
FaxNr = parameters.GetValueOrDefault("CLIENT_FAX");
|
||||||
"Bestimmungen über die Mengenbeschränkungen sowie für die Erzeugung von Wein besonderer Leseart eingehalten wird. " +
|
EmailAddress = parameters.GetValueOrDefault("CLIENT_EMAIL");
|
||||||
"Alle maßgeblichen Veränderungen obiger Angaben sind der Winzergenossenschaft unverzüglich zu melden. " +
|
Website = parameters.GetValueOrDefault("CLIENT_WEBSITE");
|
||||||
"Das Mitglied bestätigt weiters mit seiner Unterschrift, dass die gelieferten Trauben entsprechend der guten Herstellungspraxis erzeugt wurden, " +
|
LfbisNr = parameters.GetValueOrDefault("CLIENT_LFBISNR");
|
||||||
"insbesondere die Einhaltung der vom Hersteller vorgegebenen Wartefristen für Pflanzenschutzmittel. " +
|
UstId = parameters.GetValueOrDefault("CLIENT_USTIDNR");
|
||||||
"Weiters wird bestätigt, dass die Datenschutzerklärung der Winzergenossenschaft für Matzen und Umgebung in der Übernahmestelle zur freien Entnahme aufliegt.";
|
Bic = parameters.GetValueOrDefault("CLIENT_BIC");
|
||||||
|
Iban = parameters.GetValueOrDefault("CLIENT_IBAN");
|
||||||
|
Sender2 = parameters.GetValueOrDefault("DOCUMENT_SENDER") ?? "";
|
||||||
|
|
||||||
|
DeliveryObligation = int.Parse(parameters["DELIVERY_OBLIGATION"] ?? "");
|
||||||
|
DeliveryRight = int.Parse(parameters["DELIVERY_RIGHT"] ?? "");
|
||||||
|
|
||||||
|
DeliveryNoteText = parameters.GetValueOrDefault("DELIVERY_NOTE_TEXT");
|
||||||
|
} catch {
|
||||||
|
throw new KeyNotFoundException();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,5 +195,44 @@ namespace Elwig.Helpers {
|
|||||||
var d = new ManualWeighingDialog();
|
var d = new ManualWeighingDialog();
|
||||||
return d.ShowDialog() == true ? (d.Weight, d.Reason) : null;
|
return d.ShowDialog() == true ? (d.Weight, d.Reason) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Footer GenerateFooter(string lineBreak, string seperator) {
|
||||||
|
return new Footer(lineBreak, seperator);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Footer {
|
||||||
|
private string Text = "";
|
||||||
|
private readonly string LineBreak;
|
||||||
|
private readonly string Seperator;
|
||||||
|
private bool FirstLine = true;
|
||||||
|
private bool FirstItemInLine = true;
|
||||||
|
|
||||||
|
public Footer(string lineBreak, string seperator) {
|
||||||
|
LineBreak = lineBreak;
|
||||||
|
Seperator = seperator;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Footer Item(string? text) {
|
||||||
|
if (text == null) return this;
|
||||||
|
Text += FirstItemInLine ? (FirstLine ? "" : LineBreak) : Seperator;
|
||||||
|
Text += text;
|
||||||
|
FirstLine = false;
|
||||||
|
FirstItemInLine = false;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Footer Item(string name, string? text) {
|
||||||
|
return text == null ? this : Item($"{name}: {text}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Footer NextLine() {
|
||||||
|
FirstItemInLine = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString() {
|
||||||
|
return Text;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user