Fix Buttons in DeliveryAdminWindow
This commit is contained in:
@ -104,6 +104,18 @@
|
||||
</DataGrid.Columns>
|
||||
</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"
|
||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"
|
||||
Click="NewDeliveryButton_Click"/>
|
||||
|
@ -74,16 +74,28 @@ namespace Elwig.Windows {
|
||||
OnSecondPassed(null, null);
|
||||
Timer.Start();
|
||||
LockInputs();
|
||||
if (IsReceipt) NewDeliveryButton_Click(null, null);
|
||||
}
|
||||
|
||||
private void OnSecondPassed(object? sender, EventArgs? evt) {
|
||||
if (IsReceipt && (IsEditing || IsCreating)) {
|
||||
if (IsReceipt && IsCreating) {
|
||||
var now = DateTime.Now;
|
||||
TimeInput.Text = now.ToString("HH:mm");
|
||||
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() {
|
||||
if (!IsEditing && !IsCreating) return;
|
||||
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) {
|
||||
|
||||
// TODO abwerten dialog
|
||||
}
|
||||
|
||||
private void EditDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
||||
@ -304,11 +345,12 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void DeleteDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
// TODO delete dialog
|
||||
// TODO delete delivery
|
||||
}
|
||||
|
||||
private void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
// TODO save delivery (part)
|
||||
}
|
||||
|
||||
private void ResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
@ -316,7 +358,7 @@ namespace Elwig.Windows {
|
||||
RefreshInputs();
|
||||
} else if (IsCreating) {
|
||||
ClearInputs();
|
||||
//InitInputs(); TODO
|
||||
InitInputs();
|
||||
}
|
||||
UpdateButtons();
|
||||
}
|
||||
@ -340,14 +382,13 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private void ExtractDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
// TODO extract delivery part
|
||||
}
|
||||
|
||||
private void DeleteDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
// TODO delete delivery part
|
||||
}
|
||||
|
||||
|
||||
private void ShowSaveResetCancelButtons() {
|
||||
SaveButton.IsEnabled = false;
|
||||
ResetButton.IsEnabled = false;
|
||||
@ -388,6 +429,24 @@ namespace Elwig.Windows {
|
||||
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() {
|
||||
SearchInput.IsEnabled = false;
|
||||
TodayOnlyInput.IsEnabled = false;
|
||||
@ -416,11 +475,15 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private async Task UpdateLsNr() {
|
||||
if (DateInput.Text == "" || BranchInput.SelectedItem == null) {
|
||||
LsNrInput.Text = "";
|
||||
} else {
|
||||
var branch = (Branch)BranchInput.SelectedItem;
|
||||
var date = DateOnly.ParseExact(DateInput.Text, "dd.MM.yyyy");
|
||||
var lnr = await Context.NextLNr(date);
|
||||
LsNrInput.Text = $"{date:yyyyMMdd}{branch.ZwstId}{lnr:000}";
|
||||
}
|
||||
}
|
||||
|
||||
private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||
if (IsCreating) UpdateLsNr().GetAwaiter().GetResult();
|
||||
|
Reference in New Issue
Block a user