Helpers: Add enum ExportMode
This commit is contained in:
@ -570,30 +570,30 @@ namespace Elwig.Windows {
|
||||
private async void Menu_MemberDataSheet_Show_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
await GenerateMemberDataSheet(m, 0);
|
||||
await GenerateMemberDataSheet(m, ExportMode.Show);
|
||||
}
|
||||
|
||||
private async void Menu_MemberDataSheet_Print_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
await GenerateMemberDataSheet(m, 1);
|
||||
await GenerateMemberDataSheet(m, ExportMode.Print);
|
||||
}
|
||||
|
||||
private async void Menu_MemberDataSheet_Email_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
await GenerateMemberDataSheet(m, 2);
|
||||
await GenerateMemberDataSheet(m, ExportMode.Email);
|
||||
}
|
||||
|
||||
private static async Task GenerateMemberDataSheet(Member m, int mode) {
|
||||
private static async Task GenerateMemberDataSheet(Member m, ExportMode mode) {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
using var ctx = new AppDbContext();
|
||||
using var doc = new MemberDataSheet(m, ctx);
|
||||
await doc.Generate();
|
||||
if (mode == 1 && !App.Config.Debug) {
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else if (mode == 2) {
|
||||
} 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",
|
||||
@ -611,33 +611,33 @@ namespace Elwig.Windows {
|
||||
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, 0);
|
||||
await GenerateDeliveryConfirmation(m, s, ExportMode.Show);
|
||||
}
|
||||
|
||||
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))
|
||||
return;
|
||||
await GenerateDeliveryConfirmation(m, s, 1);
|
||||
await GenerateDeliveryConfirmation(m, s, ExportMode.Print);
|
||||
}
|
||||
|
||||
private async void Menu_DeliveryConfirmation_Email_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, 2);
|
||||
await GenerateDeliveryConfirmation(m, s, ExportMode.Email);
|
||||
}
|
||||
|
||||
private static async Task GenerateDeliveryConfirmation(Member m, int year, int mode) {
|
||||
private static async Task GenerateDeliveryConfirmation(Member m, int year, ExportMode mode) {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
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 == 1 && !App.Config.Debug) {
|
||||
if (mode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else if (mode == 2) {
|
||||
} 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",
|
||||
@ -651,15 +651,15 @@ namespace Elwig.Windows {
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
|
||||
private async void Menu_List_SaveActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, 0); }
|
||||
private async void Menu_List_ShowActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, 1); }
|
||||
private async void Menu_List_PrintActive_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(0, 2); }
|
||||
private async void Menu_List_SaveFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, 0); }
|
||||
private async void Menu_List_ShowFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, 1); }
|
||||
private async void Menu_List_PrintFilters_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(1, 2); }
|
||||
private async void Menu_List_SaveAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, 0); }
|
||||
private async void Menu_List_ShowAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, 1); }
|
||||
private async void Menu_List_PrintAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, 2); }
|
||||
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_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_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_PrintAll_Click(object sender, RoutedEventArgs evt) { await GenerateMemberList(2, ExportMode.Print); }
|
||||
|
||||
private async void Menu_List_Order_Click(object sender, RoutedEventArgs evt) {
|
||||
Menu_List.IsSubmenuOpen = true;
|
||||
@ -682,7 +682,7 @@ namespace Elwig.Windows {
|
||||
await App.Client.UpdateValues();
|
||||
}
|
||||
|
||||
private async Task GenerateMemberList(int modeWho, int modeWhat) {
|
||||
private async Task GenerateMemberList(int modeWho, ExportMode exportMode) {
|
||||
using var ctx = new AppDbContext();
|
||||
IQueryable<Member> query;
|
||||
List<string> filterNames = [];
|
||||
@ -716,7 +716,7 @@ namespace Elwig.Windows {
|
||||
.ThenBy(m => m.MgNr);
|
||||
}
|
||||
|
||||
if (modeWhat == 0) {
|
||||
if (exportMode == ExportMode.SaveList) {
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"{Documents.MemberList.Name}.ods",
|
||||
DefaultExt = "ods",
|
||||
@ -740,7 +740,7 @@ namespace Elwig.Windows {
|
||||
var data = await MemberListData.FromQuery(query, filterNames);
|
||||
using var doc = new MemberList(string.Join(" / ", filterNames), data);
|
||||
await doc.Generate();
|
||||
if (modeWhat == 2 && !App.Config.Debug) {
|
||||
if (exportMode == ExportMode.Print && !App.Config.Debug) {
|
||||
await doc.Print();
|
||||
} else {
|
||||
doc.Show();
|
||||
|
Reference in New Issue
Block a user