diff --git a/Elwig/Windows/MailWindow.xaml.cs b/Elwig/Windows/MailWindow.xaml.cs index 985cce4..0588be8 100644 --- a/Elwig/Windows/MailWindow.xaml.cs +++ b/Elwig/Windows/MailWindow.xaml.cs @@ -254,11 +254,13 @@ namespace Elwig.Windows { SelectedDocs.Add(new(DocType.MemberDataSheet, s, null)); } else if (idx == 1) { SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true))); + RecipientsDeliveryMembersInput.IsChecked = true; } else if (idx >= 2) { using var ctx = new AppDbContext(); var name = s.Split(" – ")[^1]; var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!; SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr))); + RecipientsDeliveryMembersInput.IsChecked = true; } SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1; } @@ -305,7 +307,7 @@ namespace Elwig.Windows { if (RecipientsCustomInput.IsChecked == true) { Recipients = MemberCustomInput.SelectedItems.Cast().ToList(); } else { - IQueryable query = ctx.Members.Where(m => m.IsActive); + IQueryable query = ctx.Members; if (MemberBranchInput.SelectedItems.Count != MemberBranchInput.Items.Count) { var zwst = MemberBranchInput.SelectedItems.Cast().Select(b => b.ZwstId).ToList(); query = query.Where(m => zwst.Contains(m.ZwstId!)); @@ -317,11 +319,13 @@ namespace Elwig.Windows { if (RecipientsAreaComMembersInput.IsChecked == true) { var vtrg = MemberAreaComInput.SelectedItems.Cast().Select(a => a.VtrgId).ToList(); - query = query.Where(m => m.AreaCommitments.AsQueryable().Where(Utils.ActiveAreaCommitments(Year)).Any(c => vtrg.Contains(c.VtrgId))); + query = query.Where(m => m.IsActive && m.AreaCommitments.AsQueryable().Where(Utils.ActiveAreaCommitments(Year)).Any(c => vtrg.Contains(c.VtrgId))); } else if (RecipientsDeliveryMembersInput.IsChecked == true) { query = query.Where(m => m.Deliveries.Any(d => d.Year == Year)); } else if (RecipientsNonDeliveryMembersInput.IsChecked == true) { - query = query.Where(m => !m.Deliveries.Any(d => d.Year == Year)); + query = query.Where(m => m.IsActive && !m.Deliveries.Any(d => d.Year == Year)); + } else { + query = query.Where(m => m.IsActive); } Recipients = await query .Include(m => m.Branch) @@ -715,6 +719,7 @@ namespace Elwig.Windows { return; SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true))); SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1; + RecipientsDeliveryMembersInput.IsChecked = true; } public void AddCreditNote(int index) { @@ -726,6 +731,7 @@ namespace Elwig.Windows { var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!; SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr))); SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1; + RecipientsDeliveryMembersInput.IsChecked = true; } } }