DeliveryAdminWindow: Include more data when refreshing list

This commit is contained in:
2024-03-27 16:24:29 +01:00
parent 7f21b7b231
commit d87f3ce6a6

View File

@ -779,8 +779,11 @@ namespace Elwig.Windows {
using var ctx = new AppDbContext(); using var ctx = new AppDbContext();
var (_, deliveryQuery, deliveryPartsQuery, predicate, filter) = await GetFilters(ctx); var (_, deliveryQuery, deliveryPartsQuery, predicate, filter) = await GetFilters(ctx);
var deliveries = await deliveryQuery var deliveries = await deliveryQuery
.Include(d => d.Parts).ThenInclude(p => p.PartModifiers) .Include(d => d.Parts).ThenInclude(p => p.PartModifiers).ThenInclude(m => m.Modifier)
.ThenInclude(m => m.Modifier) .Include(d => d.Parts).ThenInclude(p => p.Attribute)
.Include(d => d.Parts).ThenInclude(p => p.Cultivation)
.Include(d => d.Parts).ThenInclude(p => p.Variety)
.Include(d => d.Member.EmailAddresses)
.AsSplitQuery() .AsSplitQuery()
.ToListAsync(); .ToListAsync();
deliveries.Reverse(); deliveries.Reverse();
@ -1253,11 +1256,11 @@ namespace Elwig.Windows {
private async void DeliveryList_SelectionChanged(object sender, SelectionChangedEventArgs evt) { private async void DeliveryList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
await RefreshDeliveryParts(); await RefreshDeliveryParts();
if (DeliveryList.SelectedItem != null) { if (DeliveryList.SelectedItem is Delivery d) {
DeleteDeliveryButton.IsEnabled = true; DeleteDeliveryButton.IsEnabled = true;
Menu_DeliveryNote_Show.IsEnabled = !IsEditing && !IsCreating; Menu_DeliveryNote_Show.IsEnabled = !IsEditing && !IsCreating;
Menu_DeliveryNote_Print.IsEnabled = !IsEditing && !IsCreating; Menu_DeliveryNote_Print.IsEnabled = !IsEditing && !IsCreating;
Menu_DeliveryNote_Email.IsEnabled = !IsEditing && !IsCreating; Menu_DeliveryNote_Email.IsEnabled = !IsEditing && !IsCreating && App.Config.Smtp != null && d.Member.EmailAddresses.Count > 0;
} else { } else {
DeleteDeliveryButton.IsEnabled = false; DeleteDeliveryButton.IsEnabled = false;
Menu_DeliveryNote_Show.IsEnabled = false; Menu_DeliveryNote_Show.IsEnabled = false;