Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
b83df45e8f | |||
c24b1ca2b9 | |||
5e53d864b1 | |||
633b560a67 | |||
c9e483ba9d |
17
CHANGELOG.md
17
CHANGELOG.md
@ -3,6 +3,23 @@ Changelog
|
||||
=========
|
||||
|
||||
|
||||
[v0.13.5][v0.13.5] (2025-01-02) {#v0.13.5}
|
||||
------------------------------------------
|
||||
|
||||
### Neue Funktionen {#0.13.5-features}
|
||||
|
||||
* Im Mitglieder-Fenster (`MemberAdminWindow`) Filter `aktiv` und `!aktiv` hinzugefügt. (5e53d864b1)
|
||||
* Im Lieferungen Fenster (`DeliveryAdminWindow`) Menüpunkt _Statistik_ mitsamt _Qualitätsstatistik_ und _Lieferstatistik pro Ort_ hinzugefügt. (c24b1ca2b9)
|
||||
|
||||
### Sonstiges {#0.13.5-misc}
|
||||
|
||||
* Abhängigkeiten aktualisiert. (c9e483ba9d, 633b560a67)
|
||||
|
||||
[v0.13.5]: https://git.necronda.net/winzer/elwig/releases/tag/v0.13.5
|
||||
|
||||
|
||||
|
||||
|
||||
[v0.13.4][v0.13.4] (2024-11-25) {#v0.13.4}
|
||||
------------------------------------------
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<UseWPF>true</UseWPF>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
<ApplicationIcon>Resources\Images\Elwig.ico</ApplicationIcon>
|
||||
<Version>0.13.4</Version>
|
||||
<Version>0.13.5</Version>
|
||||
<SatelliteResourceLanguages>de-AT</SatelliteResourceLanguages>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
@ -25,9 +25,9 @@
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
||||
<PackageReference Include="LinqKit" Version="1.3.7" />
|
||||
<PackageReference Include="MailKit" Version="4.8.0" />
|
||||
<PackageReference Include="MailKit" Version="4.9.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.36" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0" />
|
||||
|
@ -301,6 +301,7 @@ namespace Elwig.Helpers.Export {
|
||||
if (units != null && units.Length > 0) {
|
||||
int n = -1;
|
||||
switch (units[0]) {
|
||||
case "#": n = 0; data = $"{v:N0}"; break;
|
||||
case "%": n = 1; data = $"{v:N1}"; break;
|
||||
case "€": n = 2; data = $"{v:N2}"; break;
|
||||
case "€/kg": n = 4; data = $"{v:N4}"; break;
|
||||
|
@ -1,5 +1,4 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
|
60
Elwig/Models/Dtos/WineLocalityStatisticsData.cs
Normal file
60
Elwig/Models/Dtos/WineLocalityStatisticsData.cs
Normal file
@ -0,0 +1,60 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Models.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using static Elwig.Models.Dtos.WineLocalityStatisticsData;
|
||||
|
||||
namespace Elwig.Models.Dtos {
|
||||
class WineLocalityStatisticsData : DataTable<StatisticsRow> {
|
||||
|
||||
private static readonly (string, string, string?, int?)[] FieldNames = [
|
||||
("Branch", "Zwst.", null, 30),
|
||||
("KgNr", "KgNr.", null, 15),
|
||||
("Name", "Katastralgemeinde", null, 50),
|
||||
("Members", "Mitgl.", "#", 15),
|
||||
("Deliveries", "Lfrg.", "#", 15),
|
||||
("Parts", "Teill.", "#", 15),
|
||||
("Weight", "Gewicht", "kg", 20),
|
||||
("Gradation", "Gradation", "°Oe|°KMW", 30),
|
||||
];
|
||||
|
||||
public record struct StatisticsRow(
|
||||
string Branch,
|
||||
int? KgNr,
|
||||
string? Name,
|
||||
int Members,
|
||||
int Deliveries,
|
||||
int Parts,
|
||||
int Weight,
|
||||
(double Oe, double Kmw) Gradation
|
||||
);
|
||||
|
||||
public WineLocalityStatisticsData(IEnumerable<StatisticsRow> rows, List<string> filterNames) :
|
||||
base("Lieferstatistik pro Ort", "Lieferstatistik pro Ort", string.Join(" / ", filterNames), rows, FieldNames) {
|
||||
}
|
||||
|
||||
public static async Task<WineLocalityStatisticsData> FromQuery(IQueryable<DeliveryPart> query, List<string> filterNames) {
|
||||
return new((await query
|
||||
.GroupBy(p => new {
|
||||
Branch = p.Delivery.Branch.Name,
|
||||
p.Kg!.KgNr,
|
||||
Kg = p.Kg!.AtKg.Name,
|
||||
}, (k, g) => new {
|
||||
k.Branch,
|
||||
KgNr = (int?)k.KgNr,
|
||||
Kg = (string?)k.Kg,
|
||||
Members = g.Select(p => p.Delivery.Member).Distinct().Count(),
|
||||
Deliveries = g.Select(p => p.Delivery).Distinct().Count(),
|
||||
Parts = g.Count(),
|
||||
Weight = g.Sum(p => p.Weight),
|
||||
Kmw = g.Sum(p => p.Kmw * p.Weight) / g.Sum(p => p.Weight),
|
||||
})
|
||||
.OrderByDescending(g => g.Weight)
|
||||
.ThenBy(g => g.KgNr)
|
||||
.ToListAsync()).Select(g => new StatisticsRow(g.Branch, g.KgNr, g.Kg, g.Members, g.Deliveries, g.Parts, g.Weight, (Utils.KmwToOe(g.Kmw), Math.Round(g.Kmw, 1)))), filterNames);
|
||||
}
|
||||
}
|
||||
}
|
@ -809,6 +809,38 @@ namespace Elwig.Services {
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
|
||||
public static async Task GenerateLocalityStatistics(this DeliveryAdminViewModel vm, ExportSubject subject) {
|
||||
using var ctx = new AppDbContext();
|
||||
IQueryable<DeliveryPart> query;
|
||||
List<string> filterNames = [];
|
||||
if (subject == ExportSubject.FromFilters) {
|
||||
var (f, _, q, _, _) = await vm.GetFilters(ctx);
|
||||
query = q;
|
||||
filterNames.AddRange(f);
|
||||
|
||||
} else {
|
||||
throw new ArgumentException("Invalid value for ExportSubject");
|
||||
}
|
||||
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"Lieferstatistik-{vm.FilterSeason ?? Utils.CurrentLastSeason}.ods",
|
||||
DefaultExt = "ods",
|
||||
Filter = "OpenDocument Format Spreadsheet (*.ods)|*.ods",
|
||||
Title = $"Lieferstatistik pro Ort speichern unter - Elwig"
|
||||
};
|
||||
if (d.ShowDialog() == true) {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
using var ods = new OdsFile(d.FileName);
|
||||
var tbl = await WineLocalityStatisticsData.FromQuery(query, filterNames);
|
||||
await ods.AddTable(tbl);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task GenerateDeliveryDepreciationList(this DeliveryAdminViewModel vm, ExportSubject subject, ExportMode mode) {
|
||||
using var ctx = new AppDbContext();
|
||||
IQueryable<DeliveryPart> query;
|
||||
|
@ -224,7 +224,15 @@ namespace Elwig.Services {
|
||||
for (int i = 0; i < filter.Count; i++) {
|
||||
var e = filter[i];
|
||||
|
||||
if (e.Length >= 5 && e.Length <= 10 && "funktionär".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) {
|
||||
if (e.Equals("aktiv", StringComparison.CurrentCultureIgnoreCase)) {
|
||||
memberQuery = memberQuery.Where(m => m.IsActive);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add("aktive Mitglieder");
|
||||
} else if (e.Equals("!aktiv", StringComparison.CurrentCultureIgnoreCase)) {
|
||||
memberQuery = memberQuery.Where(m => !m.IsActive);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add("inaktive Mitglieder");
|
||||
} else if (e.Length >= 5 && e.Length <= 10 && "funktionär".StartsWith(e, StringComparison.CurrentCultureIgnoreCase)) {
|
||||
memberQuery = memberQuery.Where(m => m.IsFunktionär);
|
||||
filter.RemoveAt(i--);
|
||||
filterNames.Add("Funktionäre");
|
||||
|
@ -110,32 +110,6 @@
|
||||
<MenuItem x:Name="Menu_DeliveryJournal_PrintToday" Header="...von heute drucken"
|
||||
Click="Menu_DeliveryJournal_PrintToday_Click" InputGestureText="Strg+J"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Qualitätsstatistik" x:Name="Menu_WineQualityStatistics">
|
||||
<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 (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"/>
|
||||
<Separator/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ModeOe" Header="...nach °Oe aufschlüsseln" IsCheckable="True" IsChecked="True"
|
||||
Click="Menu_WineQualityStatistics_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ModeKmw10" Header="...nach °KMW aufschlüsseln (⅒)" IsCheckable="True"
|
||||
Click="Menu_WineQualityStatistics_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ModeKmw5" Header="...nach °KMW aufschlüsseln (⅕)" IsCheckable="True"
|
||||
Click="Menu_WineQualityStatistics_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ModeKmw2" Header="...nach °KMW aufschlüsseln (½)" IsCheckable="True"
|
||||
Click="Menu_WineQualityStatistics_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_WineQualityStatistics_ModeKmw1" Header="...nach °KMW aufschlüsseln (ganze)" IsCheckable="True"
|
||||
Click="Menu_WineQualityStatistics_Mode_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Abwertungsliste" x:Name="Menu_DeliveryDepreciationList">
|
||||
<MenuItem x:Name="Menu_DeliveryDepreciationList_SaveFilters" Header="...aus Filtern speichern... (Excel)"
|
||||
Click="Menu_DeliveryDepreciationList_SaveFilters_Click"/>
|
||||
@ -155,6 +129,38 @@
|
||||
<MenuItem x:Name="Menu_DeliveryDepreciationList_PrintSeason" Header="...von Saison drucken"
|
||||
Click="Menu_DeliveryDepreciationList_PrintSeason_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Statistik" x:Name="Menu_Statistics">
|
||||
<MenuItem Header="Qualitätsstatistik..." x:Name="Menu_Statistics_WineQuality">
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ShowFilters" Header="...aus Filtern anzeigen (PDF)"
|
||||
Click="Menu_Statistics_WineQuality_ShowFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_SavePdfFilters" Header="...aus Filtern speichern... (PDF)"
|
||||
Click="Menu_Statistics_WineQuality_SavePdfFilters_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_PrintFilters" Header="...aus Filtern drucken"
|
||||
Click="Menu_Statistics_WineQuality_PrintFilters_Click"/>
|
||||
<Separator/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ShowToday" Header="...von heute anzeigen (PDF)"
|
||||
Click="Menu_Statistics_WineQuality_ShowToday_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_SavePdfToday" Header="...von heute speichern... (PDF)"
|
||||
Click="Menu_Statistics_WineQuality_SavePdfToday_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_PrintToday" Header="...von heute drucken"
|
||||
Click="Menu_Statistics_WineQuality_PrintToday_Click" InputGestureText="Strg+Q"/>
|
||||
<Separator/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ModeOe" Header="...nach °Oe aufschlüsseln" IsCheckable="True" IsChecked="True"
|
||||
Click="Menu_Statistics_WineQuality_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ModeKmw10" Header="...nach °KMW aufschlüsseln (⅒)" IsCheckable="True"
|
||||
Click="Menu_Statistics_WineQuality_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ModeKmw5" Header="...nach °KMW aufschlüsseln (⅕)" IsCheckable="True"
|
||||
Click="Menu_Statistics_WineQuality_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ModeKmw2" Header="...nach °KMW aufschlüsseln (½)" IsCheckable="True"
|
||||
Click="Menu_Statistics_WineQuality_Mode_Click"/>
|
||||
<MenuItem x:Name="Menu_Statistics_WineQuality_ModeKmw1" Header="...nach °KMW aufschlüsseln (ganze)" IsCheckable="True"
|
||||
Click="Menu_Statistics_WineQuality_Mode_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem x:Name="Menu_Statistics_Locality" Header="Lieferstatistik pro Ort...">
|
||||
<MenuItem x:Name="Menu_Statistic_Locality_SaveFilters" Header="...aus Filtern speichern... (Excel)"
|
||||
Click="Menu_Statistic_Locality_SaveFilters_Click"/>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="BKI">
|
||||
<MenuItem x:Name="Menu_Bki_SaveList" Header="Traubentransportscheinliste speichern..."/>
|
||||
</MenuItem>
|
||||
|
@ -41,7 +41,7 @@ namespace Elwig.Windows {
|
||||
CommandBindings.Add(new CommandBinding(CtrlP, Menu_DeliveryNote_Show_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlO, Menu_DeliveryJournal_ShowFilters_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlJ, Menu_DeliveryJournal_PrintToday_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlQ, Menu_WineQualityStatistics_PrintToday_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlQ, Menu_Statistics_WineQuality_PrintToday_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlShiftP, Menu_DeliveryNote_Print_Click));
|
||||
CommandBindings.Add(new CommandBinding(CtrlShiftO, Menu_DeliveryJournal_PrintFilters_Click));
|
||||
RequiredInputs = [
|
||||
@ -97,17 +97,17 @@ namespace Elwig.Windows {
|
||||
WeighingDButton.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
Menu_WineQualityStatistics_ModeOe.IsChecked = false;
|
||||
Menu_WineQualityStatistics_ModeKmw1.IsChecked = false;
|
||||
Menu_WineQualityStatistics_ModeKmw2.IsChecked = false;
|
||||
Menu_WineQualityStatistics_ModeKmw5.IsChecked = false;
|
||||
Menu_WineQualityStatistics_ModeKmw10.IsChecked = false;
|
||||
Menu_Statistics_WineQuality_ModeOe.IsChecked = false;
|
||||
Menu_Statistics_WineQuality_ModeKmw1.IsChecked = false;
|
||||
Menu_Statistics_WineQuality_ModeKmw2.IsChecked = false;
|
||||
Menu_Statistics_WineQuality_ModeKmw5.IsChecked = false;
|
||||
Menu_Statistics_WineQuality_ModeKmw10.IsChecked = false;
|
||||
switch (App.Client.OrderingMemberList) {
|
||||
case 0: Menu_WineQualityStatistics_ModeOe.IsChecked = true; break;
|
||||
case 1: Menu_WineQualityStatistics_ModeKmw1.IsChecked = true; break;
|
||||
case 2: Menu_WineQualityStatistics_ModeKmw2.IsChecked = true; break;
|
||||
case 3: Menu_WineQualityStatistics_ModeKmw5.IsChecked = true; break;
|
||||
case 4: Menu_WineQualityStatistics_ModeKmw10.IsChecked = true; break;
|
||||
case 0: Menu_Statistics_WineQuality_ModeOe.IsChecked = true; break;
|
||||
case 1: Menu_Statistics_WineQuality_ModeKmw1.IsChecked = true; break;
|
||||
case 2: Menu_Statistics_WineQuality_ModeKmw2.IsChecked = true; break;
|
||||
case 3: Menu_Statistics_WineQuality_ModeKmw5.IsChecked = true; break;
|
||||
case 4: Menu_Statistics_WineQuality_ModeKmw10.IsChecked = true; break;
|
||||
}
|
||||
|
||||
Menu_Export_UploadFilters.IsEnabled = App.Config.SyncUrl != null;
|
||||
@ -218,40 +218,44 @@ namespace Elwig.Windows {
|
||||
await ViewModel.GenerateDeliveryJournal(DeliveryService.ExportSubject.FromSeasonAndBranch, ExportMode.Upload);
|
||||
}
|
||||
|
||||
private async void Menu_WineQualityStatistics_ShowToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_ShowToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromToday, ExportMode.Show);
|
||||
private async void Menu_WineQualityStatistics_SavePdfToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_SavePdfToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromToday, ExportMode.SavePdf);
|
||||
private async void Menu_WineQualityStatistics_PrintToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_PrintToday_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromToday, ExportMode.Print);
|
||||
private async void Menu_WineQualityStatistics_ShowFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_ShowFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromFilters, ExportMode.Show);
|
||||
private async void Menu_WineQualityStatistics_SavePdfFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_SavePdfFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromFilters, ExportMode.SavePdf);
|
||||
private async void Menu_WineQualityStatistics_PrintFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
private async void Menu_Statistics_WineQuality_PrintFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateWineQualityStatistics(DeliveryService.ExportSubject.FromFilters, ExportMode.Print);
|
||||
|
||||
private async void Menu_WineQualityStatistics_Mode_Click(object sender, RoutedEventArgs evt) {
|
||||
Menu_WineQualityStatistics.IsSubmenuOpen = true;
|
||||
if (sender == Menu_WineQualityStatistics_ModeOe) {
|
||||
private async void Menu_Statistics_WineQuality_Mode_Click(object sender, RoutedEventArgs evt) {
|
||||
Menu_Statistics.IsSubmenuOpen = true;
|
||||
Menu_Statistics_WineQuality.IsSubmenuOpen = true;
|
||||
if (sender == Menu_Statistics_WineQuality_ModeOe) {
|
||||
App.Client.OrderingMemberList = 0;
|
||||
} else if (sender == Menu_WineQualityStatistics_ModeKmw1) {
|
||||
} else if (sender == Menu_Statistics_WineQuality_ModeKmw1) {
|
||||
App.Client.OrderingMemberList = 1;
|
||||
} else if (sender == Menu_WineQualityStatistics_ModeKmw2) {
|
||||
} else if (sender == Menu_Statistics_WineQuality_ModeKmw2) {
|
||||
App.Client.OrderingMemberList = 2;
|
||||
} else if (sender == Menu_WineQualityStatistics_ModeKmw5) {
|
||||
} else if (sender == Menu_Statistics_WineQuality_ModeKmw5) {
|
||||
App.Client.OrderingMemberList = 3;
|
||||
} else if (sender == Menu_WineQualityStatistics_ModeKmw10) {
|
||||
} else if (sender == Menu_Statistics_WineQuality_ModeKmw10) {
|
||||
App.Client.OrderingMemberList = 4;
|
||||
}
|
||||
Menu_WineQualityStatistics_ModeOe.IsChecked = App.Client.OrderingMemberList == 0;
|
||||
Menu_WineQualityStatistics_ModeKmw1.IsChecked = App.Client.OrderingMemberList == 1;
|
||||
Menu_WineQualityStatistics_ModeKmw2.IsChecked = App.Client.OrderingMemberList == 2;
|
||||
Menu_WineQualityStatistics_ModeKmw5.IsChecked = App.Client.OrderingMemberList == 3;
|
||||
Menu_WineQualityStatistics_ModeKmw10.IsChecked = App.Client.OrderingMemberList == 4;
|
||||
Menu_Statistics_WineQuality_ModeOe.IsChecked = App.Client.OrderingMemberList == 0;
|
||||
Menu_Statistics_WineQuality_ModeKmw1.IsChecked = App.Client.OrderingMemberList == 1;
|
||||
Menu_Statistics_WineQuality_ModeKmw2.IsChecked = App.Client.OrderingMemberList == 2;
|
||||
Menu_Statistics_WineQuality_ModeKmw5.IsChecked = App.Client.OrderingMemberList == 3;
|
||||
Menu_Statistics_WineQuality_ModeKmw10.IsChecked = App.Client.OrderingMemberList == 4;
|
||||
await App.Client.UpdateValues();
|
||||
}
|
||||
|
||||
private async void Menu_Statistic_Locality_SaveFilters_Click(object sender, RoutedEventArgs evt)=>
|
||||
await ViewModel.GenerateLocalityStatistics(DeliveryService.ExportSubject.FromFilters);
|
||||
|
||||
private async void Menu_DeliveryDepreciationList_SaveFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
await ViewModel.GenerateDeliveryDepreciationList(DeliveryService.ExportSubject.FromFilters, ExportMode.SaveList);
|
||||
private async void Menu_DeliveryDepreciationList_ShowFilters_Click(object sender, RoutedEventArgs evt) =>
|
||||
|
@ -194,6 +194,7 @@
|
||||
<Bold>Stammgemeinde</Bold>: z.B. matzen, Wolkersdorf, ...<LineBreak/>
|
||||
<Bold>UID</Bold>: z.B. ATU12345678, ...<LineBreak/>
|
||||
<Bold>Betriebs-Nr.</Bold>: z.B. 0123456, ...<LineBreak/>
|
||||
<Bold>Aktiv</Bold>: aktiv, !Aktiv (nicht-aktiv)<LineBreak/>
|
||||
<Bold>Bio-Betrieb</Bold>: BIO, !bio (ausgenommen Bio)<LineBreak/>
|
||||
<Bold>Buchführend</Bold>: buchf[ührend], Pauschal[iert], !buchf[ührend]<LineBreak/>
|
||||
<Bold>Volllieferant</Bold>: voll[lieferant], !Voll[lieferant] (nicht-Volllieferant)<LineBreak/>
|
||||
|
@ -22,13 +22,13 @@
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
|
||||
<PackageReference Include="Appium.WebDriver" Version="4.4.5" />
|
||||
<PackageReference Include="NReco.PdfRenderer" Version="1.6.0" />
|
||||
<PackageReference Include="NUnit" Version="4.2.2" />
|
||||
<PackageReference Include="NUnit" Version="4.3.2" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.4.0">
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.5.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.3">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
Reference in New Issue
Block a user