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

This commit is contained in:
2024-09-21 23:29:10 +02:00
parent 5c12dba125
commit 66be5a3e2c
3 changed files with 6 additions and 9 deletions

View File

@ -174,17 +174,9 @@ namespace Elwig.Services {
vm.StatusAreaCommitmentToolTip = grid;
});
Dictionary<int, bool> deliveries;
using (var ctx = new AppDbContext()) {
deliveries = ctx.Deliveries
.Where(d => d.MgNr == m.MgNr)
.GroupBy(d => d.Year)
.ToDictionary(g => g.Key, g => g.Any());
}
vm.MemberHasEmail = m.EmailAddresses.Count > 0;
vm.MemberCanSendEmail = App.Config.Smtp != null && m.EmailAddresses.Count > 0;
vm.MemberHasDeliveries = Enumerable.Range(0, 9999).Select(i => deliveries.GetValueOrDefault(i, false)).ToList();
vm.MemberHasDeliveries = Enumerable.Range(0, 9999).Select(i => vm.MembersDeliveries.GetValueOrDefault((m.MgNr, i), false)).ToList();
}
public static async Task<(List<string>, IQueryable<Member>, List<string>)> GetFilters(this MemberAdminViewModel vm, AppDbContext ctx) {