MailWindow: Add try/catch block around document creation
This commit is contained in:
@ -427,41 +427,46 @@ namespace Elwig.Windows {
|
|||||||
var memberDocs = recipients.Select(m => new {
|
var memberDocs = recipients.Select(m => new {
|
||||||
Member = m,
|
Member = m,
|
||||||
Docs = docs.SelectMany<SelectedDoc, GeneratedDoc>(doc => {
|
Docs = docs.SelectMany<SelectedDoc, GeneratedDoc>(doc => {
|
||||||
if (doc.Type == DocType.Custom) {
|
try {
|
||||||
return [new GeneratedDoc((string)doc.Details!)];
|
if (doc.Type == DocType.Custom) {
|
||||||
} else if (doc.Type == DocType.MemberDataSheet) {
|
return [new GeneratedDoc((string)doc.Details!)];
|
||||||
return [new GeneratedDoc(new MemberDataSheet(m, Context))];
|
} else if (doc.Type == DocType.MemberDataSheet) {
|
||||||
} else if (doc.Type == DocType.DeliveryConfirmation) {
|
return [new GeneratedDoc(new MemberDataSheet(m, Context))];
|
||||||
var details = ((int, bool))doc.Details!;
|
} else if (doc.Type == DocType.DeliveryConfirmation) {
|
||||||
var year = details.Item1;
|
var details = ((int, bool))doc.Details!;
|
||||||
var include = details.Item2;
|
var year = details.Item1;
|
||||||
DeliveryConfirmationDeliveryData data;
|
var include = details.Item2;
|
||||||
if (dcData[year].TryGetValue(m.MgNr, out var d)) {
|
DeliveryConfirmationDeliveryData data;
|
||||||
data = d;
|
if (dcData[year].TryGetValue(m.MgNr, out var d)) {
|
||||||
} else if (include) {
|
data = d;
|
||||||
data = DeliveryConfirmationDeliveryData.CreateEmpty(year, m);
|
} else if (include) {
|
||||||
} else {
|
data = DeliveryConfirmationDeliveryData.CreateEmpty(year, m);
|
||||||
return [];
|
} else {
|
||||||
}
|
return [];
|
||||||
return [new GeneratedDoc(new DeliveryConfirmation(Context, year, m, data))];
|
}
|
||||||
} else if (doc.Type == DocType.CreditNote) {
|
return [new GeneratedDoc(new DeliveryConfirmation(Context, year, m, data))];
|
||||||
var details = ((int, int))doc.Details!;
|
} else if (doc.Type == DocType.CreditNote) {
|
||||||
var year = details.Item1;
|
var details = ((int, int))doc.Details!;
|
||||||
var avnr = details.Item2;
|
var year = details.Item1;
|
||||||
var data = cnData[(year, avnr)];
|
var avnr = details.Item2;
|
||||||
try {
|
var data = cnData[(year, avnr)];
|
||||||
return [new GeneratedDoc(new CreditNote(
|
try {
|
||||||
|
return [new GeneratedDoc(new CreditNote(
|
||||||
Context, data.Item2[m.MgNr], data.Item1[m.MgNr],
|
Context, data.Item2[m.MgNr], data.Item1[m.MgNr],
|
||||||
data.Item3.ConsiderContractPenalties,
|
data.Item3.ConsiderContractPenalties,
|
||||||
data.Item3.ConsiderTotalPenalty,
|
data.Item3.ConsiderTotalPenalty,
|
||||||
data.Item3.ConsiderAutoBusinessShares,
|
data.Item3.ConsiderAutoBusinessShares,
|
||||||
Context.GetMemberUnderDelivery(year, m.MgNr).GetAwaiter().GetResult()
|
Context.GetMemberUnderDelivery(year, m.MgNr).GetAwaiter().GetResult()
|
||||||
))];
|
))];
|
||||||
} catch (Exception) {
|
} catch (Exception) {
|
||||||
return [];
|
return [];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new NotImplementedException("Invalid DocType");
|
||||||
}
|
}
|
||||||
} else {
|
} catch (Exception exc) {
|
||||||
throw new NotImplementedException("Invalid DocType");
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}).ToList()
|
}).ToList()
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
Reference in New Issue
Block a user