Windows: Add feature to save pdf in menu
This commit is contained in:
@ -99,6 +99,8 @@ namespace Elwig.Documents {
|
||||
}
|
||||
|
||||
public async Task Generate(IProgress<double>? progress = null) {
|
||||
if (_pdfFile != null)
|
||||
return;
|
||||
progress?.Report(0.0);
|
||||
if (this is PdfDocument) {
|
||||
// nothing to do
|
||||
|
@ -27,6 +27,7 @@ using System.Windows.Input;
|
||||
using LinqKit;
|
||||
using System.Linq.Expressions;
|
||||
using Elwig.Models;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace Elwig.Helpers {
|
||||
public static partial class Utils {
|
||||
@ -478,6 +479,34 @@ namespace Elwig.Helpers {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static async Task ExportDocument(Document doc, ExportMode mode, string? filename = null, (Member, string, string)? emailData = null) {
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Generate();
|
||||
await doc.Print();
|
||||
} else if (mode == ExportMode.Email && emailData is (Member, string, string) e) {
|
||||
await doc.Generate();
|
||||
var success = await SendEmail(e.Item1, e.Item2, e.Item3, [doc]);
|
||||
if (success)
|
||||
MessageBox.Show("Die E-Mail wurde erfolgreich verschickt!", "E-Mail verschickt",
|
||||
MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
} else if (mode == ExportMode.SavePdf) {
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"{NormalizeFileName(filename ?? doc.Title)}.pdf",
|
||||
DefaultExt = "pdf",
|
||||
Filter = "PDF-Datei (*.pdf)|*.pdf",
|
||||
Title = $"{doc.Title} speichern unter - Elwig"
|
||||
};
|
||||
if (d.ShowDialog() == true) {
|
||||
await doc.Generate();
|
||||
doc.SaveTo(d.FileName);
|
||||
Process.Start("explorer.exe", d.FileName);
|
||||
}
|
||||
} else {
|
||||
await doc.Generate();
|
||||
doc.Show();
|
||||
}
|
||||
}
|
||||
|
||||
public static int? GetEntityIdentifier(object? obj) {
|
||||
if (obj == null) {
|
||||
return null;
|
||||
|
@ -53,36 +53,46 @@
|
||||
|
||||
<Menu Grid.ColumnSpan="3" BorderThickness="0,0,0,1" BorderBrush="LightGray" Background="White">
|
||||
<MenuItem Header="Lieferschein">
|
||||
<MenuItem x:Name="Menu_DeliveryNote_Show" Header="...anzeigen" IsEnabled="False"
|
||||
<MenuItem x:Name="Menu_DeliveryNote_Show" Header="...anzeigen (PDF)" IsEnabled="False"
|
||||
Click="Menu_DeliveryNote_Show_Click" InputGestureText="Strg+P"/>
|
||||
<MenuItem x:Name="Menu_DeliveryNote_SavePdf" Header="...speichern... (PDF)" IsEnabled="False"
|
||||
Click="Menu_DeliveryNote_SavePdf_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryNote_Print" Header="...drucken" IsEnabled="False"
|
||||
Click="Menu_DeliveryNote_Print_Click" InputGestureText="Strg+Shift+P"/>
|
||||
<MenuItem x:Name="Menu_DeliveryNote_Email" Header="...per E-Mail schicken" IsEnabled="False"
|
||||
Click="Menu_DeliveryNote_Email_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Lieferjournal">
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SaveFilters" Header="...aus Filtern speichern (Excel)"
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SaveFilters" Header="...aus Filtern speichern... (Excel)"
|
||||
Click="Menu_DeliveryJournal_SaveFilters_Click" InputGestureText="Strg+L"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_ShowFilters" Header="...aus Filtern anzeigen (PDF)"
|
||||
Click="Menu_DeliveryJournal_ShowFilters_Click" InputGestureText="Strg+O"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SavePdfFilters" Header="...aus Filtern speichern... (PDF)"
|
||||
Click="Menu_DeliveryJournal_SavePdfFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_PrintFilters" Header="...aus Filtern drucken"
|
||||
Click="Menu_DeliveryJournal_PrintFilters_Click" InputGestureText="Strg+Shift+O"/>
|
||||
<Separator/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SaveToday" Header="...von heute speichern (Excel)"
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SaveToday" Header="...von heute speichern... (Excel)"
|
||||
Click="Menu_DeliveryJournal_SaveToday_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_ShowToday" Header="...von heute anzeigen (PDF)"
|
||||
Click="Menu_DeliveryJournal_ShowToday_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_SavePdfToday" Header="...von heute speichern... (PDF)"
|
||||
Click="Menu_DeliveryJournal_SavePdfToday_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_PrintToday" Header="...von heute drucken"
|
||||
Click="Menu_DeliveryJournal_PrintToday_Click" InputGestureText="Strg+J"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Qualitätsstatistik">
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ShowFilters" Header="...aus Filtern anzeigen"
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ShowFilters" Header="...aus Filtern anzeigen (PDF)"
|
||||
Click="Menu_WineQualityStatistics_ShowFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_SavePdfFilters" Header="...aus Filtern speichern... (PDF)"
|
||||
Click="Menu_WineQualityStatistics_SavePdfFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_PrintFilters" Header="...aus Filtern drucken"
|
||||
Click="Menu_WineQualityStatistics_PrintFilters_Click"/>
|
||||
<Separator/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ShowToday" Header="...von heute anzeigen"
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ShowToday" Header="...von heute anzeigen (PDF)"
|
||||
Click="Menu_WineQualityStatistics_ShowToday_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_SavePdfToday" Header="...von heute speichern... (PDF)"
|
||||
Click="Menu_WineQualityStatistics_SavePdfToday_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_PrintToday" Header="...von heute drucken"
|
||||
Click="Menu_WineQualityStatistics_PrintToday_Click" InputGestureText="Strg+Q"/>
|
||||
</MenuItem>
|
||||
|
@ -149,6 +149,12 @@ namespace Elwig.Windows {
|
||||
await GenerateDeliveryNote(d.Year, d.DId, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryNote_SavePdf_Click(object sender, RoutedEventArgs evt) {
|
||||
if (DeliveryList.SelectedItem is not Delivery d)
|
||||
return;
|
||||
await GenerateDeliveryNote(d.Year, d.DId, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryNote_Print_Click(object sender, RoutedEventArgs evt) {
|
||||
if (DeliveryList.SelectedItem is not Delivery d)
|
||||
return;
|
||||
@ -167,17 +173,7 @@ namespace Elwig.Windows {
|
||||
using var ctx = new AppDbContext();
|
||||
var d = (await ctx.Deliveries.FindAsync(year, did))!;
|
||||
using var doc = new DeliveryNote(d, ctx);
|
||||
await doc.Generate();
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else if (mode == ExportMode.Email) {
|
||||
var success = await Utils.SendEmail(d.Member, $"{DeliveryNote.Name} Nr. {d.LsNr}", $"Im Anhang finden Sie den {DeliveryNote.Name} Nr. {d.LsNr}", [doc]);
|
||||
if (success)
|
||||
MessageBox.Show("Die E-Mail wurde erfolgreich verschickt!", "E-Mail verschickt",
|
||||
MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, mode, d.LsNr, (d.Member, $"{DeliveryNote.Name} Nr. {d.LsNr}", $"Im Anhang finden Sie den {DeliveryNote.Name} Nr. {d.LsNr}"));
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -205,6 +201,10 @@ namespace Elwig.Windows {
|
||||
await GenerateDeliveryJournal(1, ExportMode.SaveList);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryJournal_SavePdfToday_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateDeliveryJournal(1, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryJournal_ShowToday_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateDeliveryJournal(1, ExportMode.Show);
|
||||
}
|
||||
@ -217,6 +217,10 @@ namespace Elwig.Windows {
|
||||
await GenerateDeliveryJournal(0, ExportMode.SaveList);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryJournal_SavePdfFilters_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateDeliveryJournal(0, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryJournal_ShowFilters_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateDeliveryJournal(0, ExportMode.Show);
|
||||
}
|
||||
@ -269,12 +273,7 @@ namespace Elwig.Windows {
|
||||
try {
|
||||
var data = await DeliveryJournalData.FromQuery(query, filterNames);
|
||||
using var doc = new DeliveryJournal(string.Join(" / ", filterNames), data);
|
||||
await doc.Generate();
|
||||
if (exportMode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, exportMode);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -286,6 +285,10 @@ namespace Elwig.Windows {
|
||||
await GenerateWineQualityStatistics(1, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_WineQualityStatistics_SavePdfToday_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateWineQualityStatistics(1, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_WineQualityStatistics_PrintToday_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateWineQualityStatistics(1, ExportMode.Print);
|
||||
}
|
||||
@ -294,6 +297,10 @@ namespace Elwig.Windows {
|
||||
await GenerateWineQualityStatistics(0, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_WineQualityStatistics_SavePdfFilters_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateWineQualityStatistics(0, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_WineQualityStatistics_PrintFilters_Click(object sender, RoutedEventArgs evt) {
|
||||
await GenerateWineQualityStatistics(0, ExportMode.Print);
|
||||
}
|
||||
@ -317,12 +324,7 @@ namespace Elwig.Windows {
|
||||
try {
|
||||
var data = await WineQualityStatisticsData.FromQuery(query);
|
||||
using var doc = new WineQualityStatistics(string.Join(" / ", filterNames), data);
|
||||
await doc.Generate();
|
||||
if (exportMode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, exportMode);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -1278,11 +1280,13 @@ namespace Elwig.Windows {
|
||||
if (DeliveryList.SelectedItem is Delivery d) {
|
||||
DeleteDeliveryButton.IsEnabled = true;
|
||||
Menu_DeliveryNote_Show.IsEnabled = !IsEditing && !IsCreating;
|
||||
Menu_DeliveryNote_SavePdf.IsEnabled = !IsEditing && !IsCreating;
|
||||
Menu_DeliveryNote_Print.IsEnabled = !IsEditing && !IsCreating;
|
||||
Menu_DeliveryNote_Email.IsEnabled = !IsEditing && !IsCreating && App.Config.Smtp != null && d.Member.EmailAddresses.Count > 0;
|
||||
} else {
|
||||
DeleteDeliveryButton.IsEnabled = false;
|
||||
Menu_DeliveryNote_Show.IsEnabled = false;
|
||||
Menu_DeliveryNote_SavePdf.IsEnabled = false;
|
||||
Menu_DeliveryNote_Print.IsEnabled = false;
|
||||
Menu_DeliveryNote_Email.IsEnabled = false;
|
||||
}
|
||||
|
@ -52,16 +52,20 @@
|
||||
Click="Menu_Contact_Letterhead_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Stammdatenblatt">
|
||||
<MenuItem x:Name="Menu_MemberDataSheet_Show" Header="...anzeigen" IsEnabled="False"
|
||||
<MenuItem x:Name="Menu_MemberDataSheet_Show" Header="...anzeigen (PDF)" IsEnabled="False"
|
||||
Click="Menu_MemberDataSheet_Show_Click" InputGestureText="Strg+P"/>
|
||||
<MenuItem x:Name="Menu_MemberDataSheet_SavePdf" Header="...speichern... (PDF)" IsEnabled="False"
|
||||
Click="Menu_MemberDataSheet_SavePdf_Click"/>
|
||||
<MenuItem x:Name="Menu_MemberDataSheet_Print" Header="...drucken" IsEnabled="False"
|
||||
Click="Menu_MemberDataSheet_Print_Click" InputGestureText="Strg+Shift+P"/>
|
||||
<MenuItem x:Name="Menu_MemberDataSheet_Email" Header="...per E-Mail schicken" IsEnabled="False"
|
||||
Click="Menu_MemberDataSheet_Email_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Anlieferungsbestätigung" x:Name="Menu_DeliveryConfirmation">
|
||||
<MenuItem x:Name="Menu_DeliveryConfirmation_Show" Header="...anzeigen" IsEnabled="False"
|
||||
<MenuItem x:Name="Menu_DeliveryConfirmation_Show" Header="...anzeigen (PDF)" IsEnabled="False"
|
||||
Click="Menu_DeliveryConfirmation_Show_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryConfirmation_SavePdf" Header="...speichern... (PDF)" IsEnabled="False"
|
||||
Click="Menu_DeliveryConfirmation_SavePdf_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryConfirmation_Print" Header="...drucken" IsEnabled="False"
|
||||
Click="Menu_DeliveryConfirmation_Print_Click"/>
|
||||
<MenuItem x:Name="Menu_DeliveryConfirmation_Email" Header="...per E-Mail schicken" IsEnabled="False"
|
||||
@ -72,6 +76,8 @@
|
||||
Click="Menu_List_SaveActive_Click" InputGestureText="Strg+L"/>
|
||||
<MenuItem x:Name="Menu_List_ShowActive" Header="...mit Aktiven anzeigen (PDF)"
|
||||
Click="Menu_List_ShowActive_Click" InputGestureText="Strg+O"/>
|
||||
<MenuItem x:Name="Menu_List_SavePdfActive" Header="...mit Aktiven speichern... (PDF)"
|
||||
Click="Menu_List_SavePdfActive_Click"/>
|
||||
<MenuItem x:Name="Menu_List_PrintActive" Header="...mit Aktiven drucken"
|
||||
Click="Menu_List_PrintActive_Click" InputGestureText="Strg+Shift+O"/>
|
||||
<Separator/>
|
||||
@ -79,6 +85,8 @@
|
||||
Click="Menu_List_SaveFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_List_ShowFilters" Header="...aus Filtern anzeigen (PDF)"
|
||||
Click="Menu_List_ShowFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_List_SavePdfFilters" Header="...aus Filtern speichern... (PDF)"
|
||||
Click="Menu_List_SavePdfFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_List_PrintFilters" Header="...aus Filtern drucken"
|
||||
Click="Menu_List_PrintFilters_Click"/>
|
||||
<Separator/>
|
||||
@ -86,6 +94,8 @@
|
||||
Click="Menu_List_SaveAll_Click"/>
|
||||
<MenuItem x:Name="Menu_List_ShowAll" Header="...mit allen anzeigen (PDF)"
|
||||
Click="Menu_List_ShowAll_Click"/>
|
||||
<MenuItem x:Name="Menu_List_SavePdfAll" Header="...mit allen speichern... (PDF)"
|
||||
Click="Menu_List_SavePdfAll_Click"/>
|
||||
<MenuItem x:Name="Menu_List_PrintAll" Header="...mit allen drucken"
|
||||
Click="Menu_List_PrintAll_Click"/>
|
||||
<Separator/>
|
||||
|
@ -320,9 +320,12 @@ namespace Elwig.Windows {
|
||||
Menu_DeliveryConfirmation.Items.Clear();
|
||||
foreach (var s in await ctx.Seasons.OrderByDescending(s => s.Year).ToListAsync()) {
|
||||
var i = new MenuItem { Header = $"Saison {s.Year}...", IsEnabled = MemberList.SelectedItem != null };
|
||||
var show = new MenuItem { Header = "...anzeigen" };
|
||||
var show = new MenuItem { Header = "...anzeigen (PDF)" };
|
||||
show.Click += Menu_DeliveryConfirmation_Show_Click;
|
||||
i.Items.Add(show);
|
||||
var pdf = new MenuItem { Header = "...speichern... (PDF)" };
|
||||
pdf.Click += Menu_DeliveryConfirmation_Email_Click;
|
||||
i.Items.Add(pdf);
|
||||
var print = new MenuItem { Header = "...drucken" };
|
||||
print.Click += Menu_DeliveryConfirmation_Print_Click;
|
||||
i.Items.Add(print);
|
||||
@ -573,6 +576,12 @@ namespace Elwig.Windows {
|
||||
await GenerateMemberDataSheet(m, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_MemberDataSheet_SavePdf_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
await GenerateMemberDataSheet(m, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_MemberDataSheet_Print_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
@ -590,17 +599,7 @@ namespace Elwig.Windows {
|
||||
try {
|
||||
using var ctx = new AppDbContext();
|
||||
using var doc = new MemberDataSheet(m, ctx);
|
||||
await doc.Generate();
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else if (mode == ExportMode.Email) {
|
||||
var success = await Utils.SendEmail(m, MemberDataSheet.Name, "Im Anhang finden Sie das aktuelle Stammdatenblatt", [doc]);
|
||||
if (success)
|
||||
MessageBox.Show("Die E-Mail wurde erfolgreich verschickt!", "E-Mail verschickt",
|
||||
MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, mode, emailData: (m, MemberDataSheet.Name, "Im Anhang finden Sie das aktuelle Stammdatenblatt"));
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -614,6 +613,13 @@ namespace Elwig.Windows {
|
||||
await GenerateDeliveryConfirmation(m, s, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryConfirmation_SavePdf_Click(object sender, RoutedEventArgs evt) {
|
||||
var season = ((sender as MenuItem)?.Parent as MenuItem)?.Header?.ToString()?.Split(' ')[^1].Split('.')[0];
|
||||
if (MemberList.SelectedItem is not Member m || season == null || !int.TryParse(season, out var s))
|
||||
return;
|
||||
await GenerateDeliveryConfirmation(m, s, ExportMode.SavePdf);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryConfirmation_Print_Click(object sender, RoutedEventArgs evt) {
|
||||
var season = ((sender as MenuItem)?.Parent as MenuItem)?.Header?.ToString()?.Split(' ')[^1].Split('.')[0];
|
||||
if (MemberList.SelectedItem is not Member m || season == null || !int.TryParse(season, out var s))
|
||||
@ -634,17 +640,7 @@ namespace Elwig.Windows {
|
||||
using var ctx = new AppDbContext();
|
||||
var data = await DeliveryConfirmationDeliveryData.ForMember(ctx.DeliveryParts, year, m);
|
||||
using var doc = new DeliveryConfirmation(ctx, year, m, data);
|
||||
await doc.Generate();
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else if (mode == ExportMode.Email) {
|
||||
var success = await Utils.SendEmail(m, $"{DeliveryConfirmation.Name} {year}", $"Im Anhang finden Sie die Anlieferungsbestätigung {year}", [doc]);
|
||||
if (success)
|
||||
MessageBox.Show("Die E-Mail wurde erfolgreich verschickt!", "E-Mail verschickt",
|
||||
MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, mode, emailData: (m, $"{DeliveryConfirmation.Name} {year}", $"Im Anhang finden Sie die Anlieferungsbestätigung {year}"));
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -653,12 +649,15 @@ namespace Elwig.Windows {
|
||||
|
||||
private async void Menu_List_SaveActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, ExportMode.SaveList); }
|
||||
private async void Menu_List_ShowActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, ExportMode.Show); }
|
||||
private async void Menu_List_SavePdfActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, ExportMode.SavePdf); }
|
||||
private async void Menu_List_PrintActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, ExportMode.Print); }
|
||||
private async void Menu_List_SaveFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, ExportMode.SaveList); }
|
||||
private async void Menu_List_ShowFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, ExportMode.Show); }
|
||||
private async void Menu_List_SavePdfFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, ExportMode.SavePdf); }
|
||||
private async void Menu_List_PrintFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, ExportMode.Print); }
|
||||
private async void Menu_List_SaveAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, ExportMode.SaveList); }
|
||||
private async void Menu_List_ShowAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, ExportMode.Show); }
|
||||
private async void Menu_List_SavePdfAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, ExportMode.SavePdf); }
|
||||
private async void Menu_List_PrintAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, ExportMode.Print); }
|
||||
|
||||
private async void Menu_List_Order_Click(object sender, RoutedEventArgs evt) {
|
||||
@ -739,12 +738,7 @@ namespace Elwig.Windows {
|
||||
try {
|
||||
var data = await MemberListData.FromQuery(query, filterNames);
|
||||
using var doc = new MemberList(string.Join(" / ", filterNames), data);
|
||||
await doc.Generate();
|
||||
if (exportMode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else {
|
||||
doc.Show();
|
||||
}
|
||||
await Utils.ExportDocument(doc, exportMode);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
@ -1059,9 +1053,10 @@ namespace Elwig.Windows {
|
||||
Menu_MemberDataSheet_Print.IsEnabled = true;
|
||||
Menu_MemberDataSheet_Email.IsEnabled = App.Config.Smtp != null && m.EmailAddresses.Count > 0;
|
||||
Menu_MemberDataSheet_Show.IsEnabled = true;
|
||||
Menu_MemberDataSheet_SavePdf.IsEnabled = true;
|
||||
foreach (var i in Menu_DeliveryConfirmation.Items.Cast<MenuItem>()) {
|
||||
i.IsEnabled = true;
|
||||
(i.Items[2] as MenuItem)!.IsEnabled = App.Config.Smtp != null && m.EmailAddresses.Count > 0;
|
||||
(i.Items[^1] as MenuItem)!.IsEnabled = App.Config.Smtp != null && m.EmailAddresses.Count > 0;
|
||||
}
|
||||
|
||||
FinishInputFilling();
|
||||
@ -1073,6 +1068,7 @@ namespace Elwig.Windows {
|
||||
Menu_MemberDataSheet_Print.IsEnabled = false;
|
||||
Menu_MemberDataSheet_Email.IsEnabled = false;
|
||||
Menu_MemberDataSheet_Show.IsEnabled = false;
|
||||
Menu_MemberDataSheet_SavePdf.IsEnabled = false;
|
||||
foreach (var i in Menu_DeliveryConfirmation.Items.Cast<MenuItem>()) {
|
||||
i.IsEnabled = false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user