[#10] MemberAdminWindow: Add tooltip for delivieries

This commit is contained in:
2024-07-04 19:29:00 +02:00
parent 60359935a4
commit cf1e975d8e
4 changed files with 84 additions and 29 deletions

View File

@ -43,7 +43,7 @@ namespace Elwig.Services {
vm.Age = "-";
}
public static void FillInputs(this MemberAdminViewModel vm, Member m) {
public static async Task FillInputs(this MemberAdminViewModel vm, Member m) {
vm.IsMemberSelected = true;
vm.MgNrString = $"{m.MgNr}";
vm.PredecessorMgNrString = $"{m.PredecessorMgNr}";
@ -129,11 +129,20 @@ namespace Elwig.Services {
Dictionary<int, int> deliveries;
using (var ctx = new AppDbContext()) {
var d1 = ctx.Deliveries.Where(d => d.Year == Utils.CurrentLastSeason && d.MgNr == m.MgNr);
var d2 = ctx.Deliveries.Where(d => d.Year == Utils.CurrentLastSeason - 1 && d.MgNr == m.MgNr);
vm.StatusDeliveriesLastSeason = $"Lieferungen ({Utils.CurrentLastSeason - 1}): {d2.Count():N0} ({d2.Sum(d => d.Parts.Count):N0}), {d2.SelectMany(d => d.Parts).Sum(p => p.Weight):N0} kg";
vm.StatusDeliveriesThisSeason = $"Lieferungen ({Utils.CurrentLastSeason}): {d1.Count():N0} ({d1.Sum(d => d.Parts.Count):N0}), {d1.SelectMany(d => d.Parts).Sum(p => p.Weight):N0} kg";
vm.StatusAreaCommitment = $"Gebundene Fläche: {m.ActiveAreaCommitments(ctx).Select(c => c.Area).Sum():N0} m²";
var d1 = ctx.Deliveries.Where(d => d.Year == Utils.CurrentLastSeason - 1 && d.MgNr == m.MgNr);
var (_, d1Grid, _, _) = await DeliveryService.GenerateToolTip(d1.SelectMany(d => d.Parts));
vm.StatusDeliveriesLastSeasonInfo = $"{Utils.CurrentLastSeason - 1}";
vm.StatusDeliveriesLastSeason = $"{await d1.CountAsync():N0} ({await d1.SumAsync(d => d.Parts.Count):N0}), {await d1.SelectMany(d => d.Parts).SumAsync(p => p.Weight):N0} kg";
vm.StatusDeliveriesLastSeasonToolTip = d1Grid;
var d2 = ctx.Deliveries.Where(d => d.Year == Utils.CurrentLastSeason && d.MgNr == m.MgNr);
var (_, d2Grid, _, _) = await DeliveryService.GenerateToolTip(d2.SelectMany(d => d.Parts));
vm.StatusDeliveriesThisSeasonInfo = $"{Utils.CurrentLastSeason}";
vm.StatusDeliveriesThisSeason = $"{await d2.CountAsync():N0} ({await d2.SumAsync(d => d.Parts.Count):N0}), {await d2.SelectMany(d => d.Parts).SumAsync(p => p.Weight):N0} kg";
vm.StatusDeliveriesThisSeasonToolTip = d2Grid;
vm.StatusAreaCommitment = $"{m.ActiveAreaCommitments(ctx).Select(c => c.Area).Sum():N0} m²";
deliveries = ctx.Deliveries
.Where(d => d.MgNr == m.MgNr)
.SelectMany(d => d.Parts)