From 47658a72aee306da7cbd2ee6fec67e21e54c7d87 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Sat, 20 Jan 2024 02:57:22 +0100 Subject: [PATCH] ChartWindow: Enhance ComboCheckBox --- Elwig/Helpers/Billing/ContractSelection.cs | 29 ++++++++-------------- Elwig/Windows/ChartWindow.xaml | 13 +++++----- Elwig/Windows/ChartWindow.xaml.cs | 2 +- 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/Elwig/Helpers/Billing/ContractSelection.cs b/Elwig/Helpers/Billing/ContractSelection.cs index 4798f01..49798aa 100644 --- a/Elwig/Helpers/Billing/ContractSelection.cs +++ b/Elwig/Helpers/Billing/ContractSelection.cs @@ -8,40 +8,31 @@ namespace Elwig.Helpers.Billing { public WineVar? Variety { get; } public WineAttr? Attribute { get; } - public string Listing => Variety != null || Attribute != null ? $"{Variety?.SortId}{Attribute?.AttrId}" : ""; + public string Listing => $"{Variety?.SortId}{Attribute?.AttrId}"; public ContractSelection(WineVar? var, WineAttr? attr) { Variety = var; Attribute = attr; } - public ContractSelection(WineVar var) { - Variety = var; - } - - public ContractSelection(WineAttr attr) { - Attribute = attr; - } - - public override string ToString() { - return (Variety != null ? $"{Variety.Name}" : "") + (Attribute != null ? $" {Attribute.Name}" : ""); - } - public static List GetContractsForYear(AppDbContext context, int year) { return context.DeliveryParts - .Where(d => d.Year == year) + .Where(p => p.Year == year) .Select(d => new ContractSelection(d.Variant, d.Attribute)) .Distinct() .ToList() - .Union(context.WineVarieties.Select(v => new ContractSelection(v))) + .Union(context.WineVarieties.Select(v => new ContractSelection(v, null))) + .DistinctBy(c => c.Listing) + .Order() .ToList(); } + public override string ToString() { + return Listing; + } + public int CompareTo(ContractSelection? other) { - //MessageBox.Show($"{Listing} -- {other.Listing} : {Listing.CompareTo(other.Listing)}"); - return other != null ? - Listing.CompareTo(other.Listing) : - throw new ArgumentException(); + return Listing.CompareTo(other?.Listing); } } } diff --git a/Elwig/Windows/ChartWindow.xaml b/Elwig/Windows/ChartWindow.xaml index 4268437..7c93ab8 100644 --- a/Elwig/Windows/ChartWindow.xaml +++ b/Elwig/Windows/ChartWindow.xaml @@ -63,16 +63,17 @@