Windows: Add feature to save pdf in menu
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user