diff --git a/Elwig/Services/AreaComService.cs b/Elwig/Services/AreaComService.cs index c6df782..86eb4e9 100644 --- a/Elwig/Services/AreaComService.cs +++ b/Elwig/Services/AreaComService.cs @@ -48,6 +48,7 @@ namespace Elwig.Services { var filterNotVar = new List(); var filterAttr = new List(); var filterNotAttr = new List(); + var filterSeasons = new List(); var filter = vm.TextFilter; if (filter.Count > 0) { @@ -87,6 +88,10 @@ namespace Elwig.Services { filter.RemoveAt(i--); filterNames.Add($"ohne {var[e[1..3].ToUpper()].Name}"); filterNames.Add($"ohne Attribut {attrId[e[3..].ToUpper()].Name}"); + } else if (e.Length == 4 && int.TryParse(e, out var year)) { + filterSeasons.Add(year); + filter.RemoveAt(i--); + filterNames.Add($"laufend {e}"); } } @@ -94,6 +99,7 @@ namespace Elwig.Services { if (filterNotVar.Count > 0) areaComQuery = areaComQuery.Where(a => !filterNotVar.Contains(a.AreaComType.WineVar.SortId)); if (filterAttr.Count > 0) areaComQuery = areaComQuery.Where(a => a.AreaComType.WineAttr!.AttrId != null && filterAttr.Contains(a.AreaComType.WineAttr.AttrId)); if (filterNotAttr.Count > 0) areaComQuery = areaComQuery.Where(a => a.AreaComType.WineAttr!.AttrId == null || !filterNotAttr.Contains(a.AreaComType.WineAttr.AttrId)); + foreach (var year in filterSeasons) areaComQuery = Utils.ActiveAreaCommitments(areaComQuery, year); } return (filterNames, areaComQuery, filter); diff --git a/Elwig/Windows/AreaComAdminWindow.xaml b/Elwig/Windows/AreaComAdminWindow.xaml index 6d19172..bf7615d 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml +++ b/Elwig/Windows/AreaComAdminWindow.xaml @@ -88,8 +88,9 @@ Filtern nach: Sorte: z.B. GV, zw, RR, ... - Attribut: z.B. Kabinett, dac, ... - Flächenbindung: z.B. GVK, GVD, ... + Attribut: z.B. Kabinett, dac, ... + Flächenbindung: z.B. GVK, GVD, ... + Saison: z.B. 2020, 2019... (in dieser Saison aktiv)