Fix Buttons in DeliveryAdminWindow

This commit is contained in:
2023-07-31 11:28:45 +02:00
parent 69d89ecd56
commit d06ea4f045
2 changed files with 88 additions and 13 deletions

View File

@ -104,6 +104,18 @@
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
<Button x:Name="FinishButton" Content="Abschließen" IsEnabled="False" Visibility="Hidden"
ToolTip="Übernahme abschließen und Lieferschein drucken"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
Click="FinishButton_Click"/>
<Button x:Name="NewDeliveryPartButton" Content="Neue Teil-Lfrg." IsEnabled="False" Visibility="Hidden"
ToolTip="Neue Teillieferung auf selben Lieferschein hinzufügen"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"
Click="NewDeliveryPartButton_Click"/>
<Button x:Name="CancelCreatingButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"
Click="CancelCreatingButton_Click"/>
<Button x:Name="NewDeliveryButton" Content="Neu" IsEnabled="False" Visibility="Hidden" <Button x:Name="NewDeliveryButton" Content="Neu" IsEnabled="False" Visibility="Hidden"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
Click="NewDeliveryButton_Click"/> Click="NewDeliveryButton_Click"/>

View File

@ -74,16 +74,28 @@ namespace Elwig.Windows {
OnSecondPassed(null, null); OnSecondPassed(null, null);
Timer.Start(); Timer.Start();
LockInputs(); LockInputs();
if (IsReceipt) NewDeliveryButton_Click(null, null);
} }
private void OnSecondPassed(object? sender, EventArgs? evt) { private void OnSecondPassed(object? sender, EventArgs? evt) {
if (IsReceipt && (IsEditing || IsCreating)) { if (IsReceipt && IsCreating) {
var now = DateTime.Now; var now = DateTime.Now;
TimeInput.Text = now.ToString("HH:mm"); TimeInput.Text = now.ToString("HH:mm");
DateInput.Text = now.ToString("dd.MM.yyyy"); DateInput.Text = now.ToString("dd.MM.yyyy");
} }
} }
private void InitInputs() {
ControlUtils.SelectComboBoxItem(BranchInput, i => (i as Branch)?.ZwstId, App.ZwstId);
OnSecondPassed(null, null);
UpdateLsNr().GetAwaiter().GetResult();
HandPickedInput.IsChecked = null;
// FIXME if Matzen
GerebeltGewogenInput.IsChecked = true;
FillOriginalValues();
ValidateRequiredInputs();
}
protected override void UpdateButtons() { protected override void UpdateButtons() {
if (!IsEditing && !IsCreating) return; if (!IsEditing && !IsCreating) return;
bool ch = HasChanged, v = IsValid; bool ch = HasChanged, v = IsValid;
@ -277,12 +289,41 @@ namespace Elwig.Windows {
} }
} }
private void NewDeliveryButton_Click(object sender, RoutedEventArgs evt) { private void FinishButton_Click(object sender, RoutedEventArgs evt) {
// TODO finish (save) and print
}
private void NewDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
// TODO new delivery part
}
private void CancelCreatingButton_Click(object sender, RoutedEventArgs evt) {
IsCreating = false;
IsEditing = false;
DeliveryList.IsEnabled = true;
DeliveryPartList.IsEnabled = true;
HideFinishNewPartDeliveryCancelButtons();
ShowNewEditDeleteButtons();
RefreshInputs();
ClearInputStates();
LockInputs();
UnlockSearchInputs();
}
private void NewDeliveryButton_Click(object? sender, RoutedEventArgs? evt) {
IsCreating = true;
DeliveryList.IsEnabled = false;
DeliveryPartList.IsEnabled = false;
DeliveryList.SelectedItem = null;
HideNewEditDeleteButtons();
ShowFinishNewPartDeliveryCancelButtons();
UnlockInputs();
InitInputs();
LockSearchInputs();
} }
private void AbwertenButton_Click(object sender, RoutedEventArgs evt) { private void AbwertenButton_Click(object sender, RoutedEventArgs evt) {
// TODO abwerten dialog
} }
private void EditDeliveryButton_Click(object sender, RoutedEventArgs evt) { private void EditDeliveryButton_Click(object sender, RoutedEventArgs evt) {
@ -304,11 +345,12 @@ namespace Elwig.Windows {
} }
private void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) { private void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
// TODO delete dialog
// TODO delete delivery
} }
private void SaveButton_Click(object sender, RoutedEventArgs evt) { private void SaveButton_Click(object sender, RoutedEventArgs evt) {
// TODO save delivery (part)
} }
private void ResetButton_Click(object sender, RoutedEventArgs evt) { private void ResetButton_Click(object sender, RoutedEventArgs evt) {
@ -316,7 +358,7 @@ namespace Elwig.Windows {
RefreshInputs(); RefreshInputs();
} else if (IsCreating) { } else if (IsCreating) {
ClearInputs(); ClearInputs();
//InitInputs(); TODO InitInputs();
} }
UpdateButtons(); UpdateButtons();
} }
@ -340,14 +382,13 @@ namespace Elwig.Windows {
} }
private void ExtractDeliveryPartButton_Click(object sender, RoutedEventArgs evt) { private void ExtractDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
// TODO extract delivery part
} }
private void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) { private void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
// TODO delete delivery part
} }
private void ShowSaveResetCancelButtons() { private void ShowSaveResetCancelButtons() {
SaveButton.IsEnabled = false; SaveButton.IsEnabled = false;
ResetButton.IsEnabled = false; ResetButton.IsEnabled = false;
@ -388,6 +429,24 @@ namespace Elwig.Windows {
DeleteDeliveryButton.Visibility = Visibility.Hidden; DeleteDeliveryButton.Visibility = Visibility.Hidden;
} }
private void ShowFinishNewPartDeliveryCancelButtons() {
FinishButton.IsEnabled = IsCreating && IsValid;
NewDeliveryPartButton.IsEnabled = IsCreating && IsValid;
CancelCreatingButton.IsEnabled = true;
FinishButton.Visibility = Visibility.Visible;
NewDeliveryPartButton.Visibility = Visibility.Visible;
CancelCreatingButton.Visibility = Visibility.Visible;
}
private void HideFinishNewPartDeliveryCancelButtons() {
FinishButton.IsEnabled = false;
NewDeliveryPartButton.IsEnabled = false;
CancelCreatingButton.IsEnabled = false;
FinishButton.Visibility = Visibility.Hidden;
NewDeliveryPartButton.Visibility = Visibility.Hidden;
CancelCreatingButton.Visibility = Visibility.Hidden;
}
private void LockSearchInputs() { private void LockSearchInputs() {
SearchInput.IsEnabled = false; SearchInput.IsEnabled = false;
TodayOnlyInput.IsEnabled = false; TodayOnlyInput.IsEnabled = false;
@ -416,11 +475,15 @@ namespace Elwig.Windows {
} }
private async Task UpdateLsNr() { private async Task UpdateLsNr() {
if (DateInput.Text == "" || BranchInput.SelectedItem == null) {
LsNrInput.Text = "";
} else {
var branch = (Branch)BranchInput.SelectedItem; var branch = (Branch)BranchInput.SelectedItem;
var date = DateOnly.ParseExact(DateInput.Text, "dd.MM.yyyy"); var date = DateOnly.ParseExact(DateInput.Text, "dd.MM.yyyy");
var lnr = await Context.NextLNr(date); var lnr = await Context.NextLNr(date);
LsNrInput.Text = $"{date:yyyyMMdd}{branch.ZwstId}{lnr:000}"; LsNrInput.Text = $"{date:yyyyMMdd}{branch.ZwstId}{lnr:000}";
} }
}
private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) { private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) {
if (IsCreating) UpdateLsNr().GetAwaiter().GetResult(); if (IsCreating) UpdateLsNr().GetAwaiter().GetResult();