[#64] AreaComAdminWindow: Add dialog for modifying/deleting
All checks were successful
Test / Run tests (push) Successful in 2m21s
All checks were successful
Test / Run tests (push) Successful in 2m21s
This commit is contained in:
71
Elwig/Dialogs/AreaComModifyDialog.xaml
Normal file
71
Elwig/Dialogs/AreaComModifyDialog.xaml
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<Window x:Class="Elwig.Dialogs.AreaComModifyDialog"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:local="clr-namespace:Elwig.Dialogs"
|
||||||
|
xmlns:ctrl="clr-namespace:Elwig.Controls"
|
||||||
|
ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
DataContext="{Binding RelativeSource={RelativeSource Self}}"
|
||||||
|
Title="Flächenbindungen bearbeiten" Height="220" Width="450">
|
||||||
|
<Window.Resources>
|
||||||
|
<Style TargetType="Label">
|
||||||
|
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||||
|
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||||
|
<Setter Property="Padding" Value="2,4,2,4"/>
|
||||||
|
<Setter Property="Height" Value="25"/>
|
||||||
|
</Style>
|
||||||
|
<Style TargetType="TextBox">
|
||||||
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
||||||
|
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||||
|
<Setter Property="FontSize" Value="14"/>
|
||||||
|
<Setter Property="Padding" Value="2"/>
|
||||||
|
<Setter Property="Height" Value="25"/>
|
||||||
|
<Setter Property="TextWrapping" Value="NoWrap"/>
|
||||||
|
</Style>
|
||||||
|
<Style TargetType="Button">
|
||||||
|
<Setter Property="HorizontalAlignment" Value="Right"/>
|
||||||
|
<Setter Property="VerticalAlignment" Value="Bottom"/>
|
||||||
|
<Setter Property="Width" Value="100"/>
|
||||||
|
<Setter Property="Height" Value="25"/>
|
||||||
|
</Style>
|
||||||
|
</Window.Resources>
|
||||||
|
<Grid>
|
||||||
|
<TextBlock x:Name="QuestionBlock1" TextAlignment="Center" Margin="0,10,0,0"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top">
|
||||||
|
Soll die Flächenbindung (<Run Text="{Binding Area}"/> m², <Run Text="{Binding OrigYearFrom}"/>–<Run Text="{Binding OrigYearTo}"/>) rückwirkend bearbeitet werden,<LineBreak/>
|
||||||
|
oder erst ab der angegebenen Saison?
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock x:Name="QuestionBlock2" TextAlignment="Center" Margin="0,10,0,0" Visibility="Hidden"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top">
|
||||||
|
Soll die Flächenbindung (<Run Text="{Binding Area}"/> m², <Run Text="{Binding OrigYearFrom}"/>–<Run Text="{Binding OrigYearTo}"/>) rückwirkend gelöscht werden,<LineBreak/>
|
||||||
|
oder erst ab der angegebenen Saison?
|
||||||
|
</TextBlock>
|
||||||
|
|
||||||
|
<Label x:Name="SeasonLabel" Content="Saison:" Margin="0,50,100,0"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top"/>
|
||||||
|
<ctrl:IntegerUpDown x:Name="SeasonInput" Width="56" Height="25" Margin="0,50,0,0" FontSize="14"
|
||||||
|
Minimum="1900" Maximum="9999"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top"
|
||||||
|
TextChanged="SeasonInput_TextChanged"/>
|
||||||
|
<CheckBox x:Name="RetroactiveInput" Content="Rückwirkend bearbeiten" Margin="0,80,0,0"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top"
|
||||||
|
Checked="RetroactiveInput_Changed" Unchecked="RetroactiveInput_Changed"
|
||||||
|
IsChecked="{Binding ModifyRetroactively}"/>
|
||||||
|
|
||||||
|
<TextBlock x:Name="DescBlock1" Margin="0,105,0,0" TextAlignment="Center"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top">
|
||||||
|
Die Flächenbindung bleibt bis inkl. Saison <Bold><Run x:Name="CancelSeason1"/></Bold> unverändert,<LineBreak/>
|
||||||
|
und wird ab inkl. Saison <Bold><Run x:Name="NewSeason1"/></Bold> in geänderter Form übernommen.
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock x:Name="DescBlock2" Margin="0,105,0,0" TextAlignment="Center" Visibility="Hidden"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Top">
|
||||||
|
Die Flächenbindung bleibt bis inklusive Saison <Bold><Run x:Name="CancelSeason2"/></Bold> gültig.
|
||||||
|
</TextBlock>
|
||||||
|
|
||||||
|
<Button x:Name="ConfirmButton" Content="Bestätigen" Margin="10,10,115,10" Grid.Column="1"
|
||||||
|
Click="ConfirmButton_Click"/>
|
||||||
|
<Button x:Name="CancelButton" Content="Abbrechen" Margin="10,10,10,10" Grid.Column="1" IsCancel="True"/>
|
||||||
|
</Grid>
|
||||||
|
</Window>
|
62
Elwig/Dialogs/AreaComModifyDialog.xaml.cs
Normal file
62
Elwig/Dialogs/AreaComModifyDialog.xaml.cs
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
using Elwig.Helpers;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
namespace Elwig.Dialogs {
|
||||||
|
public partial class AreaComModifyDialog : Window {
|
||||||
|
|
||||||
|
public int? YearTo { get; set; }
|
||||||
|
public bool ModifyRetroactively { get; set; }
|
||||||
|
|
||||||
|
public string OrigYearFrom { get; set; }
|
||||||
|
public string OrigYearTo { get; set; }
|
||||||
|
public string Area { get; set; }
|
||||||
|
|
||||||
|
public AreaComModifyDialog(int? yearFrom, int? yearTo, int area, bool delete) {
|
||||||
|
Area = $"{area:N0}";
|
||||||
|
OrigYearFrom = $"{yearFrom}";
|
||||||
|
OrigYearTo = $"{yearTo}";
|
||||||
|
InitializeComponent();
|
||||||
|
Title = delete ? "Flächenbindung löschen" : "Flächenbindung bearbeiten";
|
||||||
|
RetroactiveInput.Content = delete ? "Rückwirkend löschen" : "Rückwirkend bearbeiten";
|
||||||
|
if (delete) {
|
||||||
|
QuestionBlock1.Visibility = Visibility.Hidden;
|
||||||
|
QuestionBlock2.Visibility = Visibility.Visible;
|
||||||
|
DescBlock1.Visibility = Visibility.Hidden;
|
||||||
|
DescBlock2.Visibility = Visibility.Visible;
|
||||||
|
}
|
||||||
|
if ((yearTo.HasValue && yearTo < Utils.CurrentNextSeason) || (yearFrom.HasValue && yearFrom >= Utils.CurrentNextSeason)) {
|
||||||
|
RetroactiveInput.IsChecked = true;
|
||||||
|
} else {
|
||||||
|
SeasonInput.Text = $"{Utils.CurrentNextSeason}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SeasonInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
||||||
|
YearTo = SeasonInput.Value! - 1;
|
||||||
|
CancelSeason1.Text = $"{YearTo}";
|
||||||
|
CancelSeason2.Text = $"{YearTo}";
|
||||||
|
NewSeason1.Text = $"{YearTo + 1}";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RetroactiveInput_Changed(object sender, RoutedEventArgs evt) {
|
||||||
|
if (ModifyRetroactively) {
|
||||||
|
SeasonInput.IsEnabled = false;
|
||||||
|
SeasonInput.Text = "";
|
||||||
|
YearTo = null;
|
||||||
|
DescBlock1.Visibility = Visibility.Hidden;
|
||||||
|
DescBlock2.Visibility = Visibility.Hidden;
|
||||||
|
} else {
|
||||||
|
SeasonInput.IsEnabled = true;
|
||||||
|
SeasonInput.Text = $"{Utils.CurrentNextSeason}";
|
||||||
|
DescBlock1.Visibility = QuestionBlock1.Visibility;
|
||||||
|
DescBlock2.Visibility = QuestionBlock2.Visibility;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConfirmButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
|
DialogResult = true;
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -106,13 +106,13 @@ namespace Elwig.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<int> UpdateAreaCommitment(this AreaComAdminViewModel vm, int? oldFbNr) {
|
public static async Task<int> UpdateAreaCommitment(this AreaComAdminViewModel vm, int? oldFbNr) {
|
||||||
int newFbNr = (int)vm.FbNr!;
|
int newFbNr = vm.FbNr!.Value;
|
||||||
|
|
||||||
return await Task.Run(async () => {
|
return await Task.Run(async () => {
|
||||||
using var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
var a = new AreaCom {
|
var a = new AreaCom {
|
||||||
FbNr = oldFbNr ?? newFbNr,
|
FbNr = oldFbNr ?? newFbNr,
|
||||||
MgNr = (int)vm.MgNr!,
|
MgNr = vm.MgNr!.Value,
|
||||||
YearFrom = vm.YearFrom,
|
YearFrom = vm.YearFrom,
|
||||||
YearTo = vm.YearTo,
|
YearTo = vm.YearTo,
|
||||||
VtrgId = vm.AreaComType!.VtrgId,
|
VtrgId = vm.AreaComType!.VtrgId,
|
||||||
@ -120,8 +120,8 @@ namespace Elwig.Services {
|
|||||||
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
Comment = string.IsNullOrEmpty(vm.Comment) ? null : vm.Comment,
|
||||||
KgNr = vm.Kg!.KgNr,
|
KgNr = vm.Kg!.KgNr,
|
||||||
RdNr = vm.Rd?.RdNr,
|
RdNr = vm.Rd?.RdNr,
|
||||||
GstNr = vm.GstNr!.Trim(),
|
GstNr = vm.GstNr?.Trim() ?? "-",
|
||||||
Area = (int)vm.Area!,
|
Area = vm.Area!.Value,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (vm.Rd?.RdNr == 0) {
|
if (vm.Rd?.RdNr == 0) {
|
||||||
|
@ -153,19 +153,19 @@
|
|||||||
</Button.ToolTip>
|
</Button.ToolTip>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button x:Name="AreaCommitmentSaveButton" Content="Speichern" Click="AreaCommitmentSaveButton_Click" IsEnabled="False" Visibility="Hidden"
|
<Button x:Name="SaveButton" Content="Speichern" Click="SaveButton_Click" 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">
|
||||||
<Button.ToolTip>
|
<Button.ToolTip>
|
||||||
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
<TextBlock FontWeight="Bold">Strg+S</TextBlock>
|
||||||
</Button.ToolTip>
|
</Button.ToolTip>
|
||||||
</Button>
|
</Button>
|
||||||
<Button x:Name="AreaCommitmentResetButton" Content="Zurücksetzen" Click="AreaCommitmentResetButton_Click" IsEnabled="False" Visibility="Hidden"
|
<Button x:Name="ResetButton" Content="Zurücksetzen" Click="ResetButton_Click" IsEnabled="False" Visibility="Hidden"
|
||||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2">
|
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2">
|
||||||
<Button.ToolTip>
|
<Button.ToolTip>
|
||||||
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
<TextBlock FontWeight="Bold">Strg+Z</TextBlock>
|
||||||
</Button.ToolTip>
|
</Button.ToolTip>
|
||||||
</Button>
|
</Button>
|
||||||
<Button x:Name="AreaCommitmentCancelButton" Content="Abbrechen" Click="AreaCommitmentCancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
<Button x:Name="CancelButton" Content="Abbrechen" Click="CancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
||||||
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2">
|
HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2">
|
||||||
<Button.ToolTip>
|
<Button.ToolTip>
|
||||||
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
<TextBlock FontWeight="Bold">Esc</TextBlock>
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Elwig.Dialogs;
|
||||||
using System.Linq;
|
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Controls;
|
|
||||||
using Elwig.Helpers;
|
using Elwig.Helpers;
|
||||||
using Elwig.Models.Entities;
|
using Elwig.Models.Entities;
|
||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Elwig.ViewModels;
|
|
||||||
using Elwig.Services;
|
using Elwig.Services;
|
||||||
|
using Elwig.ViewModels;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
namespace Elwig.Windows {
|
namespace Elwig.Windows {
|
||||||
@ -25,8 +26,8 @@ namespace Elwig.Windows {
|
|||||||
ViewModel.Title = $"Flächenbindungen - {ViewModel.FilterMember.AdministrativeName} - Elwig";
|
ViewModel.Title = $"Flächenbindungen - {ViewModel.FilterMember.AdministrativeName} - Elwig";
|
||||||
ExemptInputs = [
|
ExemptInputs = [
|
||||||
MgNrInput, AreaCommitmentList, NewAreaCommitmentButton,
|
MgNrInput, AreaCommitmentList, NewAreaCommitmentButton,
|
||||||
EditAreaCommitmentButton, DeleteAreaCommitmentButton, AreaCommitmentSaveButton,
|
EditAreaCommitmentButton, DeleteAreaCommitmentButton, SaveButton,
|
||||||
AreaCommitmentResetButton, AreaCommitmentCancelButton, SearchInput, ActiveAreaCommitmentInput
|
ResetButton, CancelButton, SearchInput, ActiveAreaCommitmentInput
|
||||||
];
|
];
|
||||||
RequiredInputs = [
|
RequiredInputs = [
|
||||||
FbNrInput, YearFromInput, KgInput, RdInput,
|
FbNrInput, YearFromInput, KgInput, RdInput,
|
||||||
@ -163,8 +164,8 @@ namespace Elwig.Windows {
|
|||||||
IsCreating = true;
|
IsCreating = true;
|
||||||
AreaCommitmentList.IsEnabled = false;
|
AreaCommitmentList.IsEnabled = false;
|
||||||
AreaCommitmentList.SelectedItem = null;
|
AreaCommitmentList.SelectedItem = null;
|
||||||
HideAreaCommitmentNewEditDeleteButtons();
|
HideNewEditDeleteButtons();
|
||||||
ShowAreaCommitmentSaveResetCancelButtons();
|
ShowSaveResetCancelButtons();
|
||||||
UnlockInputs();
|
UnlockInputs();
|
||||||
await InitInputs();
|
await InitInputs();
|
||||||
LockSearchInputs();
|
LockSearchInputs();
|
||||||
@ -184,8 +185,8 @@ namespace Elwig.Windows {
|
|||||||
IsEditing = true;
|
IsEditing = true;
|
||||||
AreaCommitmentList.IsEnabled = false;
|
AreaCommitmentList.IsEnabled = false;
|
||||||
|
|
||||||
HideAreaCommitmentNewEditDeleteButtons();
|
HideNewEditDeleteButtons();
|
||||||
ShowAreaCommitmentSaveResetCancelButtons();
|
ShowSaveResetCancelButtons();
|
||||||
UnlockInputs();
|
UnlockInputs();
|
||||||
LockSearchInputs();
|
LockSearchInputs();
|
||||||
}
|
}
|
||||||
@ -199,13 +200,19 @@ namespace Elwig.Windows {
|
|||||||
private async void DeleteAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) {
|
private async void DeleteAreaCommitmentButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||||
if (AreaCommitmentList.SelectedItem is not AreaCom a)
|
if (AreaCommitmentList.SelectedItem is not AreaCom a)
|
||||||
return;
|
return;
|
||||||
var r = MessageBox.Show(
|
|
||||||
$"Soll die Flächenbindung {a.GstNr} ({a.Area} m²) wirklich unwiderruflich gelöscht werden?",
|
var d = new AreaComModifyDialog(a.YearFrom, a.YearTo, a.Area, true);
|
||||||
"Flächenbindung löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
if (d.ShowDialog() != true)
|
||||||
if (r == MessageBoxResult.OK) {
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
try {
|
try {
|
||||||
|
if (d.YearTo is int yearTo) {
|
||||||
|
ViewModel.YearTo = yearTo;
|
||||||
|
await ViewModel.UpdateAreaCommitment((AreaCommitmentList.SelectedItem as AreaCom)?.FbNr);
|
||||||
|
} else {
|
||||||
await AreaComService.DeleteAreaCom(a.FbNr);
|
await AreaComService.DeleteAreaCom(a.FbNr);
|
||||||
|
}
|
||||||
App.HintContextChange();
|
App.HintContextChange();
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
||||||
@ -214,27 +221,60 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
protected override void ShortcutSave() {
|
protected override void ShortcutSave() {
|
||||||
if (!AreaCommitmentSaveButton.IsEnabled || AreaCommitmentSaveButton.Visibility != Visibility.Visible)
|
if (!SaveButton.IsEnabled || SaveButton.Visibility != Visibility.Visible)
|
||||||
return;
|
return;
|
||||||
AreaCommitmentSaveButton_Click(null, null);
|
SaveButton_Click(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void AreaCommitmentSaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
private async void SaveButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||||
AreaCommitmentSaveButton.IsEnabled = false;
|
SaveButton.IsEnabled = false;
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
|
||||||
|
int? yearTo = null;
|
||||||
|
if (InputHasChanged(AreaInput) || InputHasChanged(AreaComTypeInput)) {
|
||||||
|
var a = (AreaCommitmentList.SelectedItem as AreaCom)!;
|
||||||
|
var d = new AreaComModifyDialog(a.YearFrom, a.YearTo, a.Area, false);
|
||||||
|
if (d.ShowDialog() != true)
|
||||||
|
return;
|
||||||
|
yearTo = d.YearTo;
|
||||||
|
}
|
||||||
|
|
||||||
int fbnr;
|
int fbnr;
|
||||||
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
try {
|
try {
|
||||||
|
AreaCom? temp = null;
|
||||||
|
if (yearTo != null && (!ViewModel.YearTo.HasValue || yearTo < ViewModel.YearTo)) {
|
||||||
|
temp = new AreaCom {
|
||||||
|
FbNr = ViewModel.FbNr!.Value,
|
||||||
|
MgNr = ViewModel.MgNr!.Value,
|
||||||
|
YearFrom = ViewModel.YearFrom,
|
||||||
|
YearTo = ViewModel.YearTo,
|
||||||
|
VtrgId = ViewModel.AreaComType!.VtrgId,
|
||||||
|
CultId = ViewModel.WineCult?.CultId,
|
||||||
|
Comment = ViewModel.Comment,
|
||||||
|
KgNr = ViewModel.Kg!.KgNr,
|
||||||
|
RdNr = ViewModel.Rd?.RdNr,
|
||||||
|
GstNr = ViewModel.GstNr?.Trim() ?? "-",
|
||||||
|
Area = ViewModel.Area!.Value,
|
||||||
|
};
|
||||||
|
RefreshInputs();
|
||||||
|
ViewModel.YearTo = yearTo;
|
||||||
|
}
|
||||||
fbnr = await ViewModel.UpdateAreaCommitment((AreaCommitmentList.SelectedItem as AreaCom)?.FbNr);
|
fbnr = await ViewModel.UpdateAreaCommitment((AreaCommitmentList.SelectedItem as AreaCom)?.FbNr);
|
||||||
|
if (temp is AreaCom t) {
|
||||||
|
await ViewModel.InitInputs();
|
||||||
|
t.FbNr = ViewModel.FbNr!.Value;
|
||||||
|
t.YearFrom = yearTo + 1;
|
||||||
|
ViewModel.FillInputs(t);
|
||||||
|
fbnr = await ViewModel.UpdateAreaCommitment(null);
|
||||||
|
}
|
||||||
App.HintContextChange();
|
App.HintContextChange();
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
||||||
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
|
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
|
||||||
MessageBox.Show(str, "Flächenbindung aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(str, "Flächenbindung aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
AreaCommitmentSaveButton.IsEnabled = true;
|
SaveButton.IsEnabled = true;
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -242,8 +282,8 @@ namespace Elwig.Windows {
|
|||||||
IsEditing = false;
|
IsEditing = false;
|
||||||
IsCreating = false;
|
IsCreating = false;
|
||||||
AreaCommitmentList.IsEnabled = true;
|
AreaCommitmentList.IsEnabled = true;
|
||||||
HideAreaCommitmentSaveResetCancelButtons();
|
HideSaveResetCancelButtons();
|
||||||
ShowAreaCommitmentNewEditDeleteButtons();
|
ShowNewEditDeleteButtons();
|
||||||
LockInputs();
|
LockInputs();
|
||||||
UnlockSearchInputs();
|
UnlockSearchInputs();
|
||||||
FinishInputFilling();
|
FinishInputFilling();
|
||||||
@ -255,12 +295,12 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void ShortcutReset() {
|
protected override void ShortcutReset() {
|
||||||
if (!AreaCommitmentResetButton.IsEnabled || AreaCommitmentResetButton.Visibility != Visibility.Visible)
|
if (!ResetButton.IsEnabled || ResetButton.Visibility != Visibility.Visible)
|
||||||
return;
|
return;
|
||||||
AreaCommitmentResetButton_Click(null, null);
|
ResetButton_Click(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void AreaCommitmentResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
private async void ResetButton_Click(object? sender, RoutedEventArgs? evt) {
|
||||||
if (IsEditing) {
|
if (IsEditing) {
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
} else if (IsCreating) {
|
} else if (IsCreating) {
|
||||||
@ -269,12 +309,12 @@ namespace Elwig.Windows {
|
|||||||
UpdateButtons();
|
UpdateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AreaCommitmentCancelButton_Click(object sender, RoutedEventArgs evt) {
|
private void CancelButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
IsEditing = false;
|
IsEditing = false;
|
||||||
IsCreating = false;
|
IsCreating = false;
|
||||||
AreaCommitmentList.IsEnabled = true;
|
AreaCommitmentList.IsEnabled = true;
|
||||||
HideAreaCommitmentSaveResetCancelButtons();
|
HideSaveResetCancelButtons();
|
||||||
ShowAreaCommitmentNewEditDeleteButtons();
|
ShowNewEditDeleteButtons();
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
ClearInputStates();
|
ClearInputStates();
|
||||||
LockInputs();
|
LockInputs();
|
||||||
@ -284,49 +324,49 @@ namespace Elwig.Windows {
|
|||||||
override protected void UpdateButtons() {
|
override protected void UpdateButtons() {
|
||||||
if (!IsEditing && !IsCreating) return;
|
if (!IsEditing && !IsCreating) return;
|
||||||
bool ch = HasChanged, v = IsValid;
|
bool ch = HasChanged, v = IsValid;
|
||||||
AreaCommitmentResetButton.IsEnabled = (ch);
|
ResetButton.IsEnabled = (ch);
|
||||||
AreaCommitmentSaveButton.IsEnabled = (ch && v);
|
SaveButton.IsEnabled = (ch && v);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DisableAreaCommitmentNewEditDeleteButtons() {
|
private void DisableNewEditDeleteButtons() {
|
||||||
NewAreaCommitmentButton.IsEnabled = false;
|
NewAreaCommitmentButton.IsEnabled = false;
|
||||||
EditAreaCommitmentButton.IsEnabled = false;
|
EditAreaCommitmentButton.IsEnabled = false;
|
||||||
DeleteAreaCommitmentButton.IsEnabled = false;
|
DeleteAreaCommitmentButton.IsEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EnableAreaCommitmentNewEditDeleteButtons() {
|
private void EnableNewEditDeleteButtons() {
|
||||||
NewAreaCommitmentButton.IsEnabled = true;
|
NewAreaCommitmentButton.IsEnabled = true;
|
||||||
EditAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
|
EditAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
|
||||||
DeleteAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
|
DeleteAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowAreaCommitmentSaveResetCancelButtons() {
|
private void ShowSaveResetCancelButtons() {
|
||||||
AreaCommitmentSaveButton.IsEnabled = false;
|
SaveButton.IsEnabled = false;
|
||||||
AreaCommitmentResetButton.IsEnabled = false;
|
ResetButton.IsEnabled = false;
|
||||||
AreaCommitmentCancelButton.IsEnabled = true;
|
CancelButton.IsEnabled = true;
|
||||||
AreaCommitmentSaveButton.Visibility = Visibility.Visible;
|
SaveButton.Visibility = Visibility.Visible;
|
||||||
AreaCommitmentResetButton.Visibility = Visibility.Visible;
|
ResetButton.Visibility = Visibility.Visible;
|
||||||
AreaCommitmentCancelButton.Visibility = Visibility.Visible;
|
CancelButton.Visibility = Visibility.Visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HideAreaCommitmentSaveResetCancelButtons() {
|
private void HideSaveResetCancelButtons() {
|
||||||
AreaCommitmentSaveButton.IsEnabled = false;
|
SaveButton.IsEnabled = false;
|
||||||
AreaCommitmentResetButton.IsEnabled = false;
|
ResetButton.IsEnabled = false;
|
||||||
AreaCommitmentCancelButton.IsEnabled = false;
|
CancelButton.IsEnabled = false;
|
||||||
AreaCommitmentSaveButton.Visibility = Visibility.Hidden;
|
SaveButton.Visibility = Visibility.Hidden;
|
||||||
AreaCommitmentResetButton.Visibility = Visibility.Hidden;
|
ResetButton.Visibility = Visibility.Hidden;
|
||||||
AreaCommitmentCancelButton.Visibility = Visibility.Hidden;
|
CancelButton.Visibility = Visibility.Hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowAreaCommitmentNewEditDeleteButtons() {
|
private void ShowNewEditDeleteButtons() {
|
||||||
EnableAreaCommitmentNewEditDeleteButtons();
|
EnableNewEditDeleteButtons();
|
||||||
NewAreaCommitmentButton.Visibility = Visibility.Visible;
|
NewAreaCommitmentButton.Visibility = Visibility.Visible;
|
||||||
EditAreaCommitmentButton.Visibility = Visibility.Visible;
|
EditAreaCommitmentButton.Visibility = Visibility.Visible;
|
||||||
DeleteAreaCommitmentButton.Visibility = Visibility.Visible;
|
DeleteAreaCommitmentButton.Visibility = Visibility.Visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HideAreaCommitmentNewEditDeleteButtons() {
|
private void HideNewEditDeleteButtons() {
|
||||||
DisableAreaCommitmentNewEditDeleteButtons();
|
DisableNewEditDeleteButtons();
|
||||||
NewAreaCommitmentButton.Visibility = Visibility.Hidden;
|
NewAreaCommitmentButton.Visibility = Visibility.Hidden;
|
||||||
EditAreaCommitmentButton.Visibility = Visibility.Hidden;
|
EditAreaCommitmentButton.Visibility = Visibility.Hidden;
|
||||||
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;
|
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;
|
||||||
@ -343,6 +383,8 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void AreaCommitmentList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
private void AreaCommitmentList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||||
|
if (AreaCommitmentList.SelectedItem != null)
|
||||||
|
AreaCommitmentList.ScrollIntoView(AreaCommitmentList.SelectedItem);
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user