MailWindow: Send DeliveryConfirmations and CreditNotes also to inactive members
All checks were successful
Test / Run tests (push) Successful in 2m16s
All checks were successful
Test / Run tests (push) Successful in 2m16s
This commit is contained in:
@ -254,11 +254,13 @@ namespace Elwig.Windows {
|
|||||||
SelectedDocs.Add(new(DocType.MemberDataSheet, s, null));
|
SelectedDocs.Add(new(DocType.MemberDataSheet, s, null));
|
||||||
} else if (idx == 1) {
|
} else if (idx == 1) {
|
||||||
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true)));
|
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true)));
|
||||||
|
RecipientsDeliveryMembersInput.IsChecked = true;
|
||||||
} else if (idx >= 2) {
|
} else if (idx >= 2) {
|
||||||
using var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
var name = s.Split(" – ")[^1];
|
var name = s.Split(" – ")[^1];
|
||||||
var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!;
|
var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!;
|
||||||
SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr)));
|
SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr)));
|
||||||
|
RecipientsDeliveryMembersInput.IsChecked = true;
|
||||||
}
|
}
|
||||||
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
||||||
}
|
}
|
||||||
@ -305,7 +307,7 @@ namespace Elwig.Windows {
|
|||||||
if (RecipientsCustomInput.IsChecked == true) {
|
if (RecipientsCustomInput.IsChecked == true) {
|
||||||
Recipients = MemberCustomInput.SelectedItems.Cast<Member>().ToList();
|
Recipients = MemberCustomInput.SelectedItems.Cast<Member>().ToList();
|
||||||
} else {
|
} else {
|
||||||
IQueryable<Member> query = ctx.Members.Where(m => m.IsActive);
|
IQueryable<Member> query = ctx.Members;
|
||||||
if (MemberBranchInput.SelectedItems.Count != MemberBranchInput.Items.Count) {
|
if (MemberBranchInput.SelectedItems.Count != MemberBranchInput.Items.Count) {
|
||||||
var zwst = MemberBranchInput.SelectedItems.Cast<Branch>().Select(b => b.ZwstId).ToList();
|
var zwst = MemberBranchInput.SelectedItems.Cast<Branch>().Select(b => b.ZwstId).ToList();
|
||||||
query = query.Where(m => zwst.Contains(m.ZwstId!));
|
query = query.Where(m => zwst.Contains(m.ZwstId!));
|
||||||
@ -317,11 +319,13 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
if (RecipientsAreaComMembersInput.IsChecked == true) {
|
if (RecipientsAreaComMembersInput.IsChecked == true) {
|
||||||
var vtrg = MemberAreaComInput.SelectedItems.Cast<AreaComType>().Select(a => a.VtrgId).ToList();
|
var vtrg = MemberAreaComInput.SelectedItems.Cast<AreaComType>().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) {
|
} else if (RecipientsDeliveryMembersInput.IsChecked == true) {
|
||||||
query = query.Where(m => m.Deliveries.Any(d => d.Year == Year));
|
query = query.Where(m => m.Deliveries.Any(d => d.Year == Year));
|
||||||
} else if (RecipientsNonDeliveryMembersInput.IsChecked == true) {
|
} 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
|
Recipients = await query
|
||||||
.Include(m => m.Branch)
|
.Include(m => m.Branch)
|
||||||
@ -715,6 +719,7 @@ namespace Elwig.Windows {
|
|||||||
return;
|
return;
|
||||||
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true)));
|
SelectedDocs.Add(new(DocType.DeliveryConfirmation, s, (Year, DocumentNonDeliverersInput.IsChecked == true)));
|
||||||
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
||||||
|
RecipientsDeliveryMembersInput.IsChecked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddCreditNote(int index) {
|
public void AddCreditNote(int index) {
|
||||||
@ -726,6 +731,7 @@ namespace Elwig.Windows {
|
|||||||
var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!;
|
var pv = ctx.PaymentVariants.Single(v => v.Year == Year && v.Name == name)!;
|
||||||
SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr)));
|
SelectedDocs.Add(new(DocType.CreditNote, s, (pv.Year, pv.AvNr)));
|
||||||
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
SelectedDocumentsList.SelectedIndex = SelectedDocs.Count - 1;
|
||||||
|
RecipientsDeliveryMembersInput.IsChecked = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user