Fix Buttons in DeliveryAdminWindow
This commit is contained in:
@ -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"/>
|
||||||
|
@ -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();
|
||||||
|
Reference in New Issue
Block a user