PaymentVariantsWindow: Allow user to change date
All checks were successful
Test / Run tests (push) Successful in 2m35s
All checks were successful
Test / Run tests (push) Successful in 2m35s
This commit is contained in:
@ -140,8 +140,9 @@
|
|||||||
<TextBox x:Name="CommentInput" Grid.Column="1" HorizontalAlignment="Stretch" Margin="0,40,10,0"
|
<TextBox x:Name="CommentInput" Grid.Column="1" HorizontalAlignment="Stretch" Margin="0,40,10,0"
|
||||||
TextChanged="CommentInput_TextChanged"/>
|
TextChanged="CommentInput_TextChanged"/>
|
||||||
|
|
||||||
<Label Content="Erstellt am:" Margin="10,70,0,0" Grid.Column="0"/>
|
<Label Content="Datum:" Margin="10,70,0,0" Grid.Column="0"/>
|
||||||
<TextBox x:Name="DateInput" Grid.Column="1" Width="77" HorizontalAlignment="Left" Margin="0,70,10,0" IsReadOnly="True"/>
|
<TextBox x:Name="DateInput" Grid.Column="1" Width="77" HorizontalAlignment="Left" Margin="0,70,10,0"
|
||||||
|
TextChanged="DateInput_TextChanged"/>
|
||||||
|
|
||||||
<Label Content="Überwiesen am:" Margin="10,100,0,0" Grid.Column="0"/>
|
<Label Content="Überwiesen am:" Margin="10,100,0,0" Grid.Column="0"/>
|
||||||
<TextBox x:Name="TransferDateInput" Grid.Column="1" Width="77" HorizontalAlignment="Left" Margin="0,100,10,0"
|
<TextBox x:Name="TransferDateInput" Grid.Column="1" Width="77" HorizontalAlignment="Left" Margin="0,100,10,0"
|
||||||
|
@ -19,7 +19,7 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
public readonly int Year;
|
public readonly int Year;
|
||||||
public readonly bool SeasonLocked;
|
public readonly bool SeasonLocked;
|
||||||
private bool DataValid, DataChanged, NameChanged, CommentChanged, TransferDateValid, TransferDateChanged;
|
private bool DataValid, DataChanged, NameChanged, CommentChanged, DateValid, DateChanged, TransferDateValid, TransferDateChanged;
|
||||||
private BillingData? BillingData;
|
private BillingData? BillingData;
|
||||||
private bool WeightModifierChanged = false;
|
private bool WeightModifierChanged = false;
|
||||||
|
|
||||||
@ -175,6 +175,7 @@ namespace Elwig.Windows {
|
|||||||
private void UpdateSaveButton() {
|
private void UpdateSaveButton() {
|
||||||
SaveButton.IsEnabled = PaymentVariantList.SelectedItem != null &&
|
SaveButton.IsEnabled = PaymentVariantList.SelectedItem != null &&
|
||||||
((DataChanged && DataValid) || NameChanged || CommentChanged ||
|
((DataChanged && DataValid) || NameChanged || CommentChanged ||
|
||||||
|
(DateChanged && DateValid) ||
|
||||||
(TransferDateChanged && TransferDateValid) ||
|
(TransferDateChanged && TransferDateValid) ||
|
||||||
(ConsiderModifiersInput.IsChecked != BillingData?.ConsiderDelieryModifiers) ||
|
(ConsiderModifiersInput.IsChecked != BillingData?.ConsiderDelieryModifiers) ||
|
||||||
(ConsiderPenaltiesInput.IsChecked != BillingData?.ConsiderContractPenalties) ||
|
(ConsiderPenaltiesInput.IsChecked != BillingData?.ConsiderContractPenalties) ||
|
||||||
@ -495,6 +496,7 @@ namespace Elwig.Windows {
|
|||||||
try {
|
try {
|
||||||
v.Name = NameInput.Text;
|
v.Name = NameInput.Text;
|
||||||
v.Comment = (CommentInput.Text != "") ? CommentInput.Text : null;
|
v.Comment = (CommentInput.Text != "") ? CommentInput.Text : null;
|
||||||
|
v.DateString = string.Join("-", DateInput.Text.Split(".").Reverse());
|
||||||
v.TransferDateString = (TransferDateInput.Text != "") ? string.Join("-", TransferDateInput.Text.Split(".").Reverse()) : null;
|
v.TransferDateString = (TransferDateInput.Text != "") ? string.Join("-", TransferDateInput.Text.Split(".").Reverse()) : null;
|
||||||
var d = App.Config.Debug ? BillingData.FromJson(DataInput.Text) : BillingData;
|
var d = App.Config.Debug ? BillingData.FromJson(DataInput.Text) : BillingData;
|
||||||
d.ConsiderDelieryModifiers = ConsiderModifiersInput.IsChecked ?? false;
|
d.ConsiderDelieryModifiers = ConsiderModifiersInput.IsChecked ?? false;
|
||||||
@ -563,6 +565,27 @@ namespace Elwig.Windows {
|
|||||||
UpdateSaveButton();
|
UpdateSaveButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DateInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||||
|
if (PaymentVariantList.SelectedItem is not PaymentVar v) {
|
||||||
|
ControlUtils.ClearInputState(DateInput);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var res = Validator.CheckDate(DateInput, true);
|
||||||
|
if (!res.IsValid) {
|
||||||
|
ControlUtils.SetInputInvalid(DateInput);
|
||||||
|
DateValid = false;
|
||||||
|
} else if (DateInput.Text != $"{v.Date:dd.MM.yyyy}") {
|
||||||
|
ControlUtils.SetInputChanged(DateInput);
|
||||||
|
DateValid = true;
|
||||||
|
DateChanged = true;
|
||||||
|
} else {
|
||||||
|
ControlUtils.ClearInputState(DateInput);
|
||||||
|
DateValid = true;
|
||||||
|
DateChanged = false;
|
||||||
|
}
|
||||||
|
UpdateSaveButton();
|
||||||
|
}
|
||||||
|
|
||||||
private void TransferDateInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
private void TransferDateInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||||
if (PaymentVariantList.SelectedItem is not PaymentVar v) {
|
if (PaymentVariantList.SelectedItem is not PaymentVar v) {
|
||||||
ControlUtils.ClearInputState(TransferDateInput);
|
ControlUtils.ClearInputState(TransferDateInput);
|
||||||
|
Reference in New Issue
Block a user