Compare commits
2 Commits
57bc038357
...
1cda6c19c1
Author | SHA1 | Date | |
---|---|---|---|
1cda6c19c1 | |||
ceadc8b2f8 |
@@ -7,6 +7,7 @@ using Elwig.Helpers;
|
||||
using Elwig.Models;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Windows {
|
||||
public partial class AreaCommAdminWindow : AdministrationWindow {
|
||||
@@ -18,7 +19,6 @@ namespace Elwig.Windows {
|
||||
InitializeComponent();
|
||||
this.member = member;
|
||||
Title = $"Flächenbindungen - {member.FamilyName} {member.GivenName} - Elwig";
|
||||
RefreshContractList();
|
||||
ExemptInputs = new Control[] {
|
||||
ContractList, AreaCommitmentList, NewContractButton, DeleteContractButton,
|
||||
ContractSaveButton, ContractCancelButton, NewAreaCommitmentButton,
|
||||
@@ -31,7 +31,8 @@ namespace Elwig.Windows {
|
||||
};
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e) {
|
||||
private async void Window_Loaded(object sender, RoutedEventArgs e) {
|
||||
await RefreshContractList();
|
||||
//TODO Sources von Ried sollten sich auf Gemeinde beziehen
|
||||
KgInput.ItemsSource = Context.WbKgs.Select(k => k.Kg).OrderBy(k => k.Name).ToList();
|
||||
RdInput.ItemsSource = Context.WbRde.OrderBy(r => r.Name).ToList();
|
||||
@@ -40,7 +41,28 @@ namespace Elwig.Windows {
|
||||
CultInput.ItemsSource = Context.WineCultivations.OrderBy(c => c.Name).ToList();
|
||||
}
|
||||
|
||||
private void RefreshAreaCommitmentList() {
|
||||
private async Task RefreshContractList() {
|
||||
await Context.Contracts.LoadAsync();
|
||||
await RefreshContractListQuery();
|
||||
}
|
||||
|
||||
private async Task RefreshAreaCommitmentList() {
|
||||
await Context.AreaCommitments.LoadAsync();
|
||||
await RefreshAreaCommitmentListQuery();
|
||||
}
|
||||
|
||||
private async Task RefreshContractListQuery() {
|
||||
List<Contract> contracts = await Context.Contracts.Where(c => c.MgNr == member.MgNr).ToListAsync();
|
||||
|
||||
ContractList.ItemsSource = contracts;
|
||||
if (contracts.Count == 1)
|
||||
ContractList.SelectedIndex = 0;
|
||||
|
||||
await RefreshAreaCommitmentList();
|
||||
RefreshInputs();
|
||||
}
|
||||
|
||||
private async Task RefreshAreaCommitmentListQuery() {
|
||||
Contract? contract = (Contract)ContractList.SelectedItem;
|
||||
|
||||
if (contract == null) {
|
||||
@@ -48,25 +70,13 @@ namespace Elwig.Windows {
|
||||
return;
|
||||
}
|
||||
|
||||
Context.AreaCommitments.Load();
|
||||
List<AreaCommitment> commitments = Context.AreaCommitments.Where(a => a.VNr == contract.VNr).ToList();
|
||||
List<AreaCommitment> commitments = await Context.AreaCommitments.Where(a => a.VNr == contract.VNr).ToListAsync();
|
||||
|
||||
AreaCommitmentList.ItemsSource = commitments;
|
||||
if (commitments.Count == 1)
|
||||
AreaCommitmentList.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private void RefreshContractList() {
|
||||
Context.Contracts.Load();
|
||||
List<Contract> contracts = Context.Contracts.Where(c => c.MgNr == member.MgNr).ToList();
|
||||
|
||||
ContractList.ItemsSource = contracts;
|
||||
if (contracts.Count == 1)
|
||||
ContractList.SelectedIndex = 0;
|
||||
|
||||
RefreshAreaCommitmentList();
|
||||
}
|
||||
|
||||
private void RefreshInputs(bool validate = false) {
|
||||
ClearInputStates();
|
||||
Contract? c = (Contract)ContractList.SelectedItem;
|
||||
@@ -118,7 +128,6 @@ namespace Elwig.Windows {
|
||||
AreaCommitmentList.IsEnabled = false;
|
||||
AreaCommitmentList.SelectedItem = null;
|
||||
ContractList.IsEnabled = false;
|
||||
ContractList.SelectedItem = null;
|
||||
HideAreaCommitmentNewEditDeleteButtons();
|
||||
ShowAreaCommitmentSaveResetCancelButtons();
|
||||
DisableContractNewDeleteButtons();
|
||||
@@ -132,24 +141,28 @@ namespace Elwig.Windows {
|
||||
|
||||
IsEditing = true;
|
||||
AreaCommitmentList.IsEnabled = false;
|
||||
ContractList.IsEnabled = false;
|
||||
|
||||
HideAreaCommitmentNewEditDeleteButtons();
|
||||
ShowAreaCommitmentSaveResetCancelButtons();
|
||||
DisableContractNewDeleteButtons();
|
||||
UnlockInputs();
|
||||
//TODO schöner?
|
||||
VNrInput.IsReadOnly = true;
|
||||
MgNrInput.IsReadOnly = true;
|
||||
}
|
||||
|
||||
private void DeleteAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
private async void DeleteAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
AreaCommitment a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
||||
if (a == null) return;
|
||||
|
||||
var r = MessageBox.Show(
|
||||
$"Soll die Flächenbindung \"{a.Kg.Kg.Name}, {a.Rd.Name}\", (MgNr. {a.GstNr}) wirklich unwiderruflich gelöscht werden?",
|
||||
$"Soll die Flächenbindung {a.Kg.Kg.Name}{(a.Rd.Name == null ? "" : $", {a.Rd.Name}")}, {a.GstNr} wirklich unwiderruflich gelöscht werden?",
|
||||
"Flächenbindung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
Context.Remove(a);
|
||||
Context.SaveChanges();
|
||||
RefreshAreaCommitmentList();
|
||||
await RefreshAreaCommitmentList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,10 +176,20 @@ namespace Elwig.Windows {
|
||||
ShowContractSaveCancelButtons();
|
||||
DisableAreaCommitmentNewEditDeleteButtons();
|
||||
UnlockInputs();
|
||||
//TODO schöner?
|
||||
KgInput.IsEnabled = false;
|
||||
RdInput.IsEnabled = false;
|
||||
GstNrInput.IsReadOnly = true;
|
||||
GstNrInput.IsEnabled = false;
|
||||
AreaInput.IsReadOnly = true;
|
||||
AreaInput.IsEnabled = false;
|
||||
SortInput.IsEnabled = false;
|
||||
AttrInput.IsEnabled = false;
|
||||
CultInput.IsEnabled = false;
|
||||
InitInputs();
|
||||
}
|
||||
|
||||
private void DeleteContractButton_Click(object sender, RoutedEventArgs evt) {
|
||||
private async void DeleteContractButton_Click(object sender, RoutedEventArgs evt) {
|
||||
Contract c = (Contract)ContractList.SelectedItem;
|
||||
if (c == null) return;
|
||||
|
||||
@@ -176,11 +199,11 @@ namespace Elwig.Windows {
|
||||
if (r == MessageBoxResult.Yes) {
|
||||
Context.Remove(c);
|
||||
Context.SaveChanges();
|
||||
RefreshContractList();
|
||||
await RefreshContractList();
|
||||
}
|
||||
}
|
||||
|
||||
private void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
private async void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
AreaCommitment? a = new();
|
||||
if (IsEditing)
|
||||
a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
||||
@@ -213,7 +236,7 @@ namespace Elwig.Windows {
|
||||
ShowAreaCommitmentNewEditDeleteButtons();
|
||||
EnableContractNewDeleteButtons();
|
||||
LockInputs();
|
||||
RefreshContractList();
|
||||
await RefreshContractList();
|
||||
}
|
||||
|
||||
private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||
@@ -238,8 +261,16 @@ namespace Elwig.Windows {
|
||||
LockInputs();
|
||||
}
|
||||
|
||||
private void ContractSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
//TODO
|
||||
private async void ContractSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
IsEditing = false;
|
||||
IsCreating = false;
|
||||
AreaCommitmentList.IsEnabled = true;
|
||||
ContractList.IsEnabled = true;
|
||||
HideContractSaveCancelButtons();
|
||||
ShowContractNewDeleteButtons();
|
||||
EnableAreaCommitmentNewEditDeleteButtons();
|
||||
LockInputs();
|
||||
await RefreshContractList();
|
||||
}
|
||||
|
||||
private void ContractCancelButton_Click(object sender, RoutedEventArgs evt) {
|
||||
@@ -346,8 +377,8 @@ namespace Elwig.Windows {
|
||||
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;
|
||||
}
|
||||
|
||||
private void ContractList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||
RefreshAreaCommitmentList();
|
||||
private async void ContractList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||
await RefreshAreaCommitmentList();
|
||||
}
|
||||
|
||||
private void AreaCommitmentList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||
|
Reference in New Issue
Block a user