diff --git a/Elwig/Windows/MailWindow.xaml.cs b/Elwig/Windows/MailWindow.xaml.cs index 3107db8..830d41f 100644 --- a/Elwig/Windows/MailWindow.xaml.cs +++ b/Elwig/Windows/MailWindow.xaml.cs @@ -427,41 +427,46 @@ namespace Elwig.Windows { var memberDocs = recipients.Select(m => new { Member = m, Docs = docs.SelectMany(doc => { - if (doc.Type == DocType.Custom) { - return [new GeneratedDoc((string)doc.Details!)]; - } else if (doc.Type == DocType.MemberDataSheet) { - return [new GeneratedDoc(new MemberDataSheet(m, Context))]; - } else if (doc.Type == DocType.DeliveryConfirmation) { - var details = ((int, bool))doc.Details!; - var year = details.Item1; - var include = details.Item2; - DeliveryConfirmationDeliveryData data; - if (dcData[year].TryGetValue(m.MgNr, out var d)) { - data = d; - } else if (include) { - data = DeliveryConfirmationDeliveryData.CreateEmpty(year, m); - } else { - return []; - } - return [new GeneratedDoc(new DeliveryConfirmation(Context, year, m, data))]; - } else if (doc.Type == DocType.CreditNote) { - var details = ((int, int))doc.Details!; - var year = details.Item1; - var avnr = details.Item2; - var data = cnData[(year, avnr)]; - try { - return [new GeneratedDoc(new CreditNote( + try { + if (doc.Type == DocType.Custom) { + return [new GeneratedDoc((string)doc.Details!)]; + } else if (doc.Type == DocType.MemberDataSheet) { + return [new GeneratedDoc(new MemberDataSheet(m, Context))]; + } else if (doc.Type == DocType.DeliveryConfirmation) { + var details = ((int, bool))doc.Details!; + var year = details.Item1; + var include = details.Item2; + DeliveryConfirmationDeliveryData data; + if (dcData[year].TryGetValue(m.MgNr, out var d)) { + data = d; + } else if (include) { + data = DeliveryConfirmationDeliveryData.CreateEmpty(year, m); + } else { + return []; + } + return [new GeneratedDoc(new DeliveryConfirmation(Context, year, m, data))]; + } else if (doc.Type == DocType.CreditNote) { + var details = ((int, int))doc.Details!; + var year = details.Item1; + var avnr = details.Item2; + var data = cnData[(year, avnr)]; + try { + return [new GeneratedDoc(new CreditNote( Context, data.Item2[m.MgNr], data.Item1[m.MgNr], data.Item3.ConsiderContractPenalties, data.Item3.ConsiderTotalPenalty, data.Item3.ConsiderAutoBusinessShares, Context.GetMemberUnderDelivery(year, m.MgNr).GetAwaiter().GetResult() ))]; - } catch (Exception) { - return []; + } catch (Exception) { + return []; + } + } else { + throw new NotImplementedException("Invalid DocType"); } - } else { - throw new NotImplementedException("Invalid DocType"); + } catch (Exception exc) { + MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); + return []; } }).ToList() }).ToList();