MailWindow: Order members by billing address if applicable
This commit is contained in:
@ -374,6 +374,9 @@ namespace Elwig.Windows {
|
||||
DisposeDocs();
|
||||
await UpdateTextParameters();
|
||||
|
||||
var doublePaged = DoublePagedInput.IsChecked == true;
|
||||
var docs = SelectedDocs.OrderByDescending(d => d.Type).ToList();
|
||||
|
||||
IEnumerable<Member> recipients = Recipients;
|
||||
if (OrderMgNrInput.IsChecked == true) {
|
||||
recipients = recipients
|
||||
@ -386,17 +389,24 @@ namespace Elwig.Windows {
|
||||
.ThenBy(m => m.MgNr)
|
||||
.ToList();
|
||||
} else if (OrderPlzInput.IsChecked == true) {
|
||||
if (docs.Any(d => d.Type == DocType.DeliveryConfirmation || d.Type == DocType.CreditNote)) {
|
||||
recipients = recipients
|
||||
.OrderBy(m => m.PostalDest.AtPlz.Plz)
|
||||
.ThenBy(m => m.PostalDest.AtPlz.Ort.Name)
|
||||
.OrderBy(m => m.BillingAddress?.PostalDest.AtPlz?.Plz ?? m.PostalDest.AtPlz?.Plz)
|
||||
.ThenBy(m => m.BillingAddress?.PostalDest.AtPlz?.Ort.Name ?? m.PostalDest.AtPlz?.Ort.Name)
|
||||
.ThenBy(m => m.FamilyName)
|
||||
.ThenBy(m => m.GivenName)
|
||||
.ThenBy(m => m.MgNr)
|
||||
.ToList();
|
||||
} else {
|
||||
recipients = recipients
|
||||
.OrderBy(m => m.PostalDest.AtPlz?.Plz)
|
||||
.ThenBy(m => m.PostalDest.AtPlz?.Ort.Name)
|
||||
.ThenBy(m => m.FamilyName)
|
||||
.ThenBy(m => m.GivenName)
|
||||
.ThenBy(m => m.MgNr)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
var doublePaged = DoublePagedInput.IsChecked == true;
|
||||
var docs = SelectedDocs.OrderByDescending(d => d.Type).ToList();
|
||||
}
|
||||
|
||||
Dictionary<int, IDictionary<int, DeliveryConfirmationDeliveryData>> dcData = [];
|
||||
Dictionary<(int, int), (IDictionary<int, CreditNoteDeliveryData>, IDictionary<int, PaymentMember>, BillingData)> cnData = [];
|
||||
|
Reference in New Issue
Block a user