MemberDataSheet: Show area com buckets of current year (regardless of season)

This commit is contained in:
2024-02-21 15:10:27 +01:00
parent 99ca12b276
commit 8732141e6b
5 changed files with 26 additions and 14 deletions

View File

@ -16,21 +16,21 @@ namespace Elwig.Windows {
public int MgNr => Member.MgNr;
private readonly Member Member;
private List<string> TextFilter = new();
private List<string> TextFilter = [];
public AreaComAdminWindow(int mgnr) {
InitializeComponent();
Member = Context.Members.Find(mgnr) ?? throw new ArgumentException("MgNr argument has invalid value");
Title = $"Flächenbindungen - {Member.AdministrativeName} - Elwig";
ExemptInputs = new Control[] {
ExemptInputs = [
MgNrInput, AreaCommitmentList, NewAreaCommitmentButton,
EditAreaCommitmentButton, DeleteAreaCommitmentButton, AreaCommitmentSaveButton,
AreaCommitmentResetButton, AreaCommitmentCancelButton, SearchInput, ActiveAreaCommitmentInput
};
RequiredInputs = new Control[] {
];
RequiredInputs = [
FbNrInput, YearFromInput, KgInput, RdInput,
GstNrInput, AreaInput.TextBox, AreaComTypeInput, WineCultivationInput
};
];
}
private void Window_Loaded(object sender, RoutedEventArgs e) {
@ -76,10 +76,10 @@ namespace Elwig.Windows {
}
private async Task<(List<string>, IQueryable<AreaCom>, List<string>)> GetFilters() {
List<string> filterNames = new();
List<string> filterNames = [];
IQueryable<AreaCom> areaComQuery = Context.AreaCommitments.Where(a => a.MgNr == Member.MgNr).OrderBy(a => a.FbNr);
if (ActiveAreaCommitmentInput.IsChecked == true) {
areaComQuery = areaComQuery.Where(a => (a.YearFrom <= Utils.CurrentNextSeason) && (a.YearTo == null || a.YearTo >= Utils.CurrentNextSeason));
areaComQuery = areaComQuery.Where(a => (a.YearFrom <= Utils.CurrentYear) && (a.YearTo == null || a.YearTo >= Utils.CurrentYear));
filterNames.Add("aktiv");
}
@ -151,7 +151,7 @@ namespace Elwig.Windows {
YearToInput.Text = a.YearTo.ToString();
KgInput.SelectedItem = a.Kg.AtKg;
RdInput.SelectedItem = a.Rd;
RdInput.SelectedItem = a.Rd ?? RdInput.Items[0];
GstNrInput.Text = a.GstNr;
AreaInput.Text = a.Area.ToString();
@ -230,8 +230,8 @@ namespace Elwig.Windows {
a.RdNr = RdInput.SelectedItem.GetType() == typeof(NullItem) ? null : ((WbRd)RdInput.SelectedItem).RdNr;
a.GstNr = GstNrInput.Text;
a.Area = int.Parse(AreaInput.Text);
a.VtrgId = (AreaComTypeInput.SelectedItem as AreaComType)?.VtrgId;
a.CultId = (WineCultivationInput.SelectedItem as WineCult)?.CultId;
a.VtrgId = (AreaComTypeInput.SelectedItem as AreaComType)!.VtrgId;
a.CultId = (WineCultivationInput.SelectedItem as WineCult)!.CultId;
a.Comment = (CommentInput.Text == "") ? null : CommentInput.Text;
EntityEntry<AreaCom>? tr = null;
@ -275,7 +275,7 @@ namespace Elwig.Windows {
MessageBox.Show(str, "Flächenbindung aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
}
return a;
return a!;
}
private async void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {