[#15] DeliveryConfirmationsWindow: Replace with MailWindow
This commit is contained in:
@ -52,7 +52,7 @@ namespace Elwig.Windows {
|
||||
CreditNote.Name,
|
||||
];
|
||||
|
||||
protected Season? Season;
|
||||
protected readonly int? Year;
|
||||
public ObservableCollection<SelectedDoc> SelectedDocs = [];
|
||||
public IEnumerable<Member> Recipients = [];
|
||||
|
||||
@ -99,8 +99,11 @@ namespace Elwig.Windows {
|
||||
});
|
||||
|
||||
// powershell -Command "$(Get-WmiObject -Class Win32_Printer | Where-Object {$_.Default -eq $True}).Name"
|
||||
public MailWindow() {
|
||||
public MailWindow(int? year = null) {
|
||||
InitializeComponent();
|
||||
Year = year ?? Context.Seasons.OrderBy(s => s.Year).LastOrDefault()?.Year;
|
||||
Title = $"Rundschreiben {Year} - Elwig";
|
||||
|
||||
AvaiableDocumentsList.ItemsSource = AvaiableDocuments;
|
||||
SelectedDocumentsList.ItemsSource = SelectedDocs;
|
||||
|
||||
@ -120,13 +123,13 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
protected override async Task OnRenewContext() {
|
||||
Season = await Context.Seasons.OrderBy(s => s.Year).LastOrDefaultAsync();
|
||||
var season = await Context.Seasons.FindAsync(Year);
|
||||
var l = new List<string> {
|
||||
MemberDataSheet.Name
|
||||
};
|
||||
if (Season != null) {
|
||||
l.Add($"{DeliveryConfirmation.Name} {Season.Year}");
|
||||
l.AddRange(Season.PaymentVariants.Where(v => !v.TestVariant).OrderBy(v => v.AvNr).Select(v => $"{CreditNote.Name} – {v.Name}"));
|
||||
if (season != null) {
|
||||
l.Add($"{DeliveryConfirmation.Name} {Year}");
|
||||
l.AddRange(season.PaymentVariants.Where(v => !v.TestVariant).OrderBy(v => v.AvNr).Select(v => $"{CreditNote.Name} – {v.Name}"));
|
||||
}
|
||||
AvaiableDocumentsList.ItemsSource = l;
|
||||
|
||||
@ -221,10 +224,10 @@ namespace Elwig.Windows {
|
||||
if (idx == 0) {
|
||||
SelectedDocs.Add(new(DocType.MemberDataSheet, s, null));
|
||||
} else if (idx == 1) {
|
||||
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Season!.Year, DocumentNonDeliverersInput.IsChecked == true)));
|
||||
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, ((int)Year!, DocumentNonDeliverersInput.IsChecked == true)));
|
||||
} else if (idx >= 2) {
|
||||
var name = s.Split(" – ")[^1];
|
||||
var pv = Context.PaymentVariants.Single(v => v.Year == Season!.Year && v.Name == name)!;
|
||||
var pv = Context.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!;
|
||||
SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr)));
|
||||
}
|
||||
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
||||
@ -553,5 +556,13 @@ namespace Elwig.Windows {
|
||||
Process.Start("explorer.exe", d.FolderName);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddDeliveryConfirmation() {
|
||||
AvaiableDocumentsList.SelectedIndex = 1;
|
||||
if (AvaiableDocumentsList.SelectedItem is not string s)
|
||||
return;
|
||||
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, ((int)Year!, DocumentNonDeliverersInput.IsChecked == true)));
|
||||
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user