[#30] Documents: Add WineQualityStatistics

This commit is contained in:
2024-03-28 12:27:48 +01:00
parent 57662534f3
commit 26a9902a13
7 changed files with 330 additions and 15 deletions

View File

@ -282,10 +282,6 @@ namespace Elwig.Windows {
}
}
private async void Menu_WineQualityStatistics_SaveToday_Click(object sender, RoutedEventArgs evt) {
await GenerateWineQualityStatistics(1, 0);
}
private async void Menu_WineQualityStatistics_ShowToday_Click(object sender, RoutedEventArgs evt) {
await GenerateWineQualityStatistics(1, 1);
}
@ -294,10 +290,6 @@ namespace Elwig.Windows {
await GenerateWineQualityStatistics(1, 2);
}
private async void Menu_WineQualityStatistics_SaveFilters_Click(object sender, RoutedEventArgs evt) {
await GenerateWineQualityStatistics(0, 0);
}
private async void Menu_WineQualityStatistics_ShowFilters_Click(object sender, RoutedEventArgs evt) {
await GenerateWineQualityStatistics(0, 1);
}
@ -307,7 +299,34 @@ namespace Elwig.Windows {
}
private async Task GenerateWineQualityStatistics(int modeWho, int modeWhat) {
// TODO
using var ctx = new AppDbContext();
IQueryable<DeliveryPart> query;
List<string> filterNames = [];
if (modeWho == 0) {
var (f, _, q, _, _) = await GetFilters(ctx);
query = q;
filterNames.AddRange(f);
} else {
var date = $"{Utils.Today:yyyy-MM-dd}";
query = ctx.DeliveryParts
.Where(p => p.Delivery.DateString == date);
filterNames.Add($"{Utils.Today:dd.MM.yyyy}");
}
Mouse.OverrideCursor = Cursors.AppStarting;
try {
var data = await WineQualityStatisticsData.FromQuery(query);
using var doc = new WineQualityStatistics(string.Join(" / ", filterNames), data);
await doc.Generate();
if (modeWhat == 2 && !App.Config.Debug) {
await doc.Print();
} else {
doc.Show();
}
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
Mouse.OverrideCursor = null;
}
private void Menu_Settings_EnableFreeEditing_Checked(object sender, RoutedEventArgs evt) {