MemberAdminWindow: Revert caching of MembersDeliveries
All checks were successful
Test / Run tests (push) Successful in 1m46s

This commit is contained in:
2024-09-22 21:01:48 +02:00
parent accbb9df08
commit 1d187c25f3
3 changed files with 7 additions and 6 deletions

View File

@ -166,6 +166,11 @@ namespace Elwig.Services {
} catch { }
var (text, gridData) = await AreaComService.GenerateToolTipData(c, maxKgPerHa);
var deliveries = await ctx.Deliveries
.Where(d => d.MgNr == m.MgNr)
.GroupBy(d => d.Year)
.ToDictionaryAsync(g => g.Key, g => g.Any());
await App.MainDispatcher.BeginInvoke(() => {
var (d1Grid, _) = DeliveryService.GenerateToolTip(d1GridData, []);
var (d2Grid, _) = DeliveryService.GenerateToolTip(d2GridData, []);
@ -179,12 +184,13 @@ namespace Elwig.Services {
vm.StatusAreaCommitmentInfo = $"{Utils.CurrentLastSeason}";
vm.StatusAreaCommitment = text;
vm.StatusAreaCommitmentToolTip = grid;
vm.MemberHasDeliveries = Enumerable.Range(0, 9999).Select(i => deliveries.GetValueOrDefault(i, false)).ToList();
});
});
vm.MemberHasEmail = m.EmailAddresses.Count > 0;
vm.MemberCanSendEmail = App.Config.Smtp != null && m.EmailAddresses.Count > 0;
vm.MemberHasDeliveries = Enumerable.Range(0, 9999).Select(i => vm.MembersDeliveries.GetValueOrDefault((m.MgNr, i), false)).ToList();
vm.MemberHasDeliveries = Enumerable.Range(0, 9999).Select(i => false).ToList();
}
public static async Task<(List<string>, IQueryable<Member>, List<string>)> GetFilters(this MemberAdminViewModel vm, AppDbContext ctx) {

View File

@ -40,7 +40,6 @@ namespace Elwig.ViewModels {
private bool _enableSearchInputs = true;
[ObservableProperty]
private IEnumerable<bool> _memberHasDeliveries = [ .. Enumerable.Range(0, 9999).Select(i => false) ];
public Dictionary<(int, int), bool> MembersDeliveries = [];
[ObservableProperty]
private bool _memberListOrderByMgNr;

View File

@ -187,10 +187,6 @@ namespace Elwig.Windows {
ControlUtils.RenewItemsSource(BranchInput, await ctx.Branches.OrderBy(b => b.Name).ToListAsync());
ControlUtils.RenewItemsSource(DefaultKgInput, await ctx.WbKgs.Select(k => k.AtKg).OrderBy(k => k.Name).ToListAsync());
ViewModel.MembersDeliveries = await ctx.Deliveries
.GroupBy(d => new { d.MgNr, d.Year })
.ToDictionaryAsync(g => (g.Key.MgNr, g.Key.Year), g => g.Any());
var seasons = await ctx.Seasons.OrderByDescending(s => s.Year).ToListAsync();
Menu_DeliveryConfirmation.Items.Clear();
foreach (var s in seasons) {