DeliveryAdminWindow: Verschlimmbesserung

This commit is contained in:
2023-09-12 22:50:58 +02:00
parent 595f9a049c
commit 7bcf532b26

View File

@ -179,8 +179,8 @@ namespace Elwig.Windows {
bool ch = HasChanged, v = IsValid; bool ch = HasChanged, v = IsValid;
ResetButton.IsEnabled = ch; ResetButton.IsEnabled = ch;
SaveButton.IsEnabled = v && ch; SaveButton.IsEnabled = v && ch;
FinishButton.IsEnabled = v || !ch; FinishButton.IsEnabled = v && ch;
NewDeliveryPartButton.IsEnabled = v; NewDeliveryPartButton.IsEnabled = v && ch;
CancelCreatingButton.IsEnabled = DeliveryList.SelectedItem == null || DeliveryPartList.SelectedItem == null; CancelCreatingButton.IsEnabled = DeliveryList.SelectedItem == null || DeliveryPartList.SelectedItem == null;
} }
@ -331,7 +331,7 @@ namespace Elwig.Windows {
.ToList(); .ToList();
} }
ControlUtils.RenewItemsSource(DeliveryList, deliveries, d => ((d as Delivery)?.Year, (d as Delivery)?.DId), DeliveryList_SelectionChanged, ControlUtils.RenewSourceDefault.IfOnly, !updateSort); ControlUtils.RenewItemsSource(DeliveryList, deliveries, d => ((d as Delivery)?.Year, (d as Delivery)?.DId), DeliveryList_SelectionChanged, IsCreating ? ControlUtils.RenewSourceDefault.None : ControlUtils.RenewSourceDefault.IfOnly, !updateSort);
var members = deliveries.Select(d => d.Member).DistinctBy(m => m.MgNr).ToList(); var members = deliveries.Select(d => d.Member).DistinctBy(m => m.MgNr).ToList();
StatusMembers.Text = $"Mitglieder: {members.Count}" + (members.Count > 0 && members.Count <= 4 ? $" ({string.Join(", ", members.Select(m => m.AdministrativeName))})" : ""); StatusMembers.Text = $"Mitglieder: {members.Count}" + (members.Count > 0 && members.Count <= 4 ? $" ({string.Join(", ", members.Select(m => m.AdministrativeName))})" : "");
@ -423,10 +423,11 @@ namespace Elwig.Windows {
Menu_Export_Bki.Items.Add(i); Menu_Export_Bki.Items.Add(i);
} }
// FIXME on "only one" delivery, RenewContext doees not work
await RefreshDeliveryList(); await RefreshDeliveryList();
var d = DeliveryList.SelectedItem as Delivery; var d = DeliveryList.SelectedItem as Delivery;
var y = d?.Year ?? Utils.CurrentLastSeason; var y = d?.Year ?? Utils.CurrentLastSeason;
ControlUtils.RenewItemsSource(MemberInput, await Context.Members.Where(m => m.IsActive || !IsReceipt).OrderBy(m => m.FamilyName).ThenBy(m => m.GivenName).ToListAsync(), i => (i as Member)?.MgNr); ControlUtils.RenewItemsSource(MemberInput, await Context.Members.Where(m => m.IsActive || !IsCreating).OrderBy(m => m.FamilyName).ThenBy(m => m.GivenName).ToListAsync(), i => (i as Member)?.MgNr);
ControlUtils.RenewItemsSource(BranchInput, await Context.Branches.OrderBy(b => b.Name).ToListAsync(), i => (i as Branch)?.ZwstId); ControlUtils.RenewItemsSource(BranchInput, await Context.Branches.OrderBy(b => b.Name).ToListAsync(), i => (i as Branch)?.ZwstId);
ControlUtils.RenewItemsSource(WineVarietyInput, await Context.WineVarieties.OrderBy(v => v.Name).ToListAsync(), i => (i as WineVar)?.SortId); ControlUtils.RenewItemsSource(WineVarietyInput, await Context.WineVarieties.OrderBy(v => v.Name).ToListAsync(), i => (i as WineVar)?.SortId);
ControlUtils.RenewItemsSource(AttributesInput, await Context.WineAttributes.Where(a => IsCreating || a.IsActive).OrderBy(a => a.Name).ToListAsync(), i => (i as WineAttr)?.AttrId); ControlUtils.RenewItemsSource(AttributesInput, await Context.WineAttributes.Where(a => IsCreating || a.IsActive).OrderBy(a => a.Name).ToListAsync(), i => (i as WineAttr)?.AttrId);
@ -729,7 +730,7 @@ namespace Elwig.Windows {
MemberInput.SelectedItem = valid ? Context.Members.Find(int.Parse(MgNrInput.Text)) : null; MemberInput.SelectedItem = valid ? Context.Members.Find(int.Parse(MgNrInput.Text)) : null;
} }
private void MemberInput_SelectionChanged(object sender, SelectionChangedEventArgs evt) { private void MemberInput_SelectionChanged(object? sender, SelectionChangedEventArgs? evt) {
var m = MemberInput.SelectedItem as Member; var m = MemberInput.SelectedItem as Member;
if (m != null) MgNrInput.Text = m.MgNr.ToString(); if (m != null) MgNrInput.Text = m.MgNr.ToString();
MemberAddressField.Text = m?.FullAddress; MemberAddressField.Text = m?.FullAddress;
@ -753,6 +754,7 @@ namespace Elwig.Windows {
NewDeliveryPartButton.Cursor = null; NewDeliveryPartButton.Cursor = null;
DeliveryList.SelectedItem = p?.Delivery; DeliveryList.SelectedItem = p?.Delivery;
DeliveryPartList.SelectedItem = null; DeliveryPartList.SelectedItem = null;
RefreshInputs();
InitialInputs(); InitialInputs();
} }
@ -768,12 +770,13 @@ namespace Elwig.Windows {
Mouse.OverrideCursor = Cursors.Wait; Mouse.OverrideCursor = Cursors.Wait;
using var doc = new DeliveryNote(p.Delivery, Context); using var doc = new DeliveryNote(p.Delivery, Context);
await doc.Generate(); await doc.Generate();
Mouse.OverrideCursor = Cursors.Wait; Mouse.OverrideCursor = null;
doc.Show(); doc.Show();
//await doc.Print(2); //await doc.Print(2);
} }
FinishButton.Cursor = null; FinishButton.Cursor = null;
DeliveryList.SelectedItem = null; DeliveryList.SelectedItem = null;
RefreshInputs();
InitInputs(); InitInputs();
} }
@ -1099,8 +1102,8 @@ namespace Elwig.Windows {
} }
private void ShowFinishNewPartDeliveryCancelButtons() { private void ShowFinishNewPartDeliveryCancelButtons() {
FinishButton.IsEnabled = IsCreating && IsValid; FinishButton.IsEnabled = false;
NewDeliveryPartButton.IsEnabled = IsCreating && IsValid; NewDeliveryPartButton.IsEnabled = false;
CancelCreatingButton.IsEnabled = true; CancelCreatingButton.IsEnabled = true;
FinishButton.Visibility = Visibility.Visible; FinishButton.Visibility = Visibility.Visible;
NewDeliveryPartButton.Visibility = Visibility.Visible; NewDeliveryPartButton.Visibility = Visibility.Visible;