diff --git a/Elwig/Documents/Document.cs b/Elwig/Documents/Document.cs
index 4b24506..77fa503 100644
--- a/Elwig/Documents/Document.cs
+++ b/Elwig/Documents/Document.cs
@@ -30,7 +30,7 @@ namespace Elwig.Documents {
public string Author;
public string Header;
public string Footer;
- public DateTime Date;
+ public DateOnly Date;
public Document(string title) {
var c = App.Client;
@@ -47,7 +47,7 @@ namespace Elwig.Documents {
.Item("Betriebs-Nr.", c.LfbisNr).Item("UID", c.UstIdNr).NextLine()
.Item("BIC", c.Bic).Item("IBAN", c.Iban)
.ToString();
- Date = DateTime.Today;
+ Date = DateOnly.FromDateTime(Utils.Today);
}
~Document() {
diff --git a/Elwig/Windows/MailWindow.xaml b/Elwig/Windows/MailWindow.xaml
index 27992e5..a00e448 100644
--- a/Elwig/Windows/MailWindow.xaml
+++ b/Elwig/Windows/MailWindow.xaml
@@ -94,9 +94,10 @@
-
+
+
diff --git a/Elwig/Windows/MailWindow.xaml.cs b/Elwig/Windows/MailWindow.xaml.cs
index 0588be8..c04c4e8 100644
--- a/Elwig/Windows/MailWindow.xaml.cs
+++ b/Elwig/Windows/MailWindow.xaml.cs
@@ -303,6 +303,15 @@ namespace Elwig.Windows {
await UpdateRecipients(ctx);
}
+ private void Date_TextChanged(object sender, RoutedEventArgs evt) {
+ Validator.CheckDate((TextBox)sender, true);
+ }
+
+ private void Date_LostFocus(object sender, RoutedEventArgs evt) {
+ var res = Validator.CheckDate((TextBox)sender, true);
+ if (!res.IsValid) ((TextBox)sender).Text = $"{Utils.Today:dd.MM.yyyy}";
+ }
+
private async Task UpdateRecipients(AppDbContext ctx) {
if (RecipientsCustomInput.IsChecked == true) {
Recipients = MemberCustomInput.SelectedItems.Cast().ToList();
@@ -493,6 +502,7 @@ namespace Elwig.Windows {
}
}
+ var postalDate = DateOnly.ParseExact(PostalDate.Text, "dd.MM.yyyy");
var memberDocs = recipients.Select(m => new {
Member = m,
Docs = docs.SelectMany(doc => {
@@ -500,7 +510,7 @@ namespace Elwig.Windows {
if (doc.Type == DocType.Custom) {
return [new GeneratedDoc((string)doc.Details!)];
} else if (doc.Type == DocType.MemberDataSheet) {
- return [new GeneratedDoc(new MemberDataSheet(m, ctx))];
+ return [new GeneratedDoc(new MemberDataSheet(m, ctx) { Date = postalDate })];
} else if (doc.Type == DocType.DeliveryConfirmation) {
var details = ((int, bool))doc.Details!;
var year = details.Item1;
@@ -513,7 +523,7 @@ namespace Elwig.Windows {
} else {
return [];
}
- return [new GeneratedDoc(new DeliveryConfirmation(ctx, year, m, data))];
+ return [new GeneratedDoc(new DeliveryConfirmation(ctx, year, m, data) { Date = postalDate })];
} else if (doc.Type == DocType.CreditNote) {
var details = ((int, int))doc.Details!;
var year = details.Item1;
@@ -521,12 +531,12 @@ namespace Elwig.Windows {
var data = cnData[(year, avnr)];
try {
return [new GeneratedDoc(new CreditNote(
- ctx, data.Item2[m.MgNr], data.Item1[m.MgNr],
- data.Item3.ConsiderContractPenalties,
- data.Item3.ConsiderTotalPenalty,
- data.Item3.ConsiderAutoBusinessShares,
- ctx.GetMemberUnderDelivery(year, m.MgNr).GetAwaiter().GetResult()
- ))];
+ ctx, data.Item2[m.MgNr], data.Item1[m.MgNr],
+ data.Item3.ConsiderContractPenalties,
+ data.Item3.ConsiderTotalPenalty,
+ data.Item3.ConsiderAutoBusinessShares,
+ ctx.GetMemberUnderDelivery(year, m.MgNr).GetAwaiter().GetResult()
+ ) { Date = postalDate })];
} catch (Exception) {
return [];
}