From c6748055fd2e45e3cfe4db335372925317a7bafa Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 8 Jul 2025 10:52:32 +0200 Subject: [PATCH] [#61] Windows: Use red and green color to indicate type of WineVariety --- Elwig/App.xaml | 6 +++--- Elwig/Helpers/Billing/GraphEntry.cs | 2 ++ Elwig/Models/Entities/Delivery.cs | 4 ++++ Elwig/Models/Entities/WineVar.cs | 2 ++ Elwig/Windows/ChartWindow.xaml | 8 ++++---- Elwig/Windows/DeliveryAdminWindow.xaml | 5 +++-- Elwig/Windows/DeliveryAncmtAdminWindow.xaml | 3 ++- Elwig/Windows/DeliveryAncmtAdminWindow.xaml.cs | 1 + 8 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Elwig/App.xaml b/Elwig/App.xaml index 89f260b..f380f9d 100644 --- a/Elwig/App.xaml +++ b/Elwig/App.xaml @@ -30,13 +30,13 @@ - + - - + + diff --git a/Elwig/Helpers/Billing/GraphEntry.cs b/Elwig/Helpers/Billing/GraphEntry.cs index 7fe62c3..d8486f8 100644 --- a/Elwig/Helpers/Billing/GraphEntry.cs +++ b/Elwig/Helpers/Billing/GraphEntry.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Windows.Media; namespace Elwig.Helpers.Billing { public class GraphEntry { @@ -40,6 +41,7 @@ namespace Elwig.Helpers.Billing { public string VaributeStringSimple => (Abgewertet ? "Abgew.: " : "") + (Vaributes.Count != 0 ? (Vaributes.Count >= 25 ? "Restliche Sorten" : string.Join(", ", Vaributes.Select(c => c.Listing))) : "-"); public string VaributeString => Vaributes.Count != 0 ? string.Join("\n", Vaributes.Select(c => c.FullName)) : "-"; public string VaributeStringChange => (Abgewertet ? "A." : "") + string.Join(",", Vaributes.Select(c => c.Listing)); + public Brush? Color => Vaributes.Select(v => v.Variety?.Color).Distinct().SingleOrDefault(); private readonly int Precision; public GraphEntry(int id, int precision, BillingData.CurveMode mode) { diff --git a/Elwig/Models/Entities/Delivery.cs b/Elwig/Models/Entities/Delivery.cs index 15b3883..3f23042 100644 --- a/Elwig/Models/Entities/Delivery.cs +++ b/Elwig/Models/Entities/Delivery.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; +using System.Windows.Media; using IndexAttribute = Microsoft.EntityFrameworkCore.IndexAttribute; namespace Elwig.Models.Entities { @@ -118,6 +119,9 @@ namespace Elwig.Models.Entities { public string SortIdString => string.Join(", ", SortIds); public string FilteredSortIdString => string.Join(", ", FilteredSortIds); + public Brush? Color => Parts.Select(p => p.Variety.Color).Distinct().SingleOrDefault(); + public Brush? FilteredColor => FilteredParts.Select(p => p.Variety.Color).Distinct().SingleOrDefault(); + public IEnumerable Modifiers => Parts .SelectMany(p => p.Modifiers) .Select(m => m.Name) diff --git a/Elwig/Models/Entities/WineVar.cs b/Elwig/Models/Entities/WineVar.cs index cbaec5f..7436e75 100644 --- a/Elwig/Models/Entities/WineVar.cs +++ b/Elwig/Models/Entities/WineVar.cs @@ -1,5 +1,6 @@ using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations.Schema; +using System.Windows.Media; namespace Elwig.Models.Entities { [Table("wine_variety"), PrimaryKey("SortId")] @@ -20,6 +21,7 @@ namespace Elwig.Models.Entities { public bool IsRed => Type == "R"; public bool IsWhite => Type == "W"; + public Brush? Color => IsWhite ? Brushes.DarkGreen : IsRed ? Brushes.DarkRed : null; public WineVar() { } diff --git a/Elwig/Windows/ChartWindow.xaml b/Elwig/Windows/ChartWindow.xaml index 7a0a71d..03e4bb6 100644 --- a/Elwig/Windows/ChartWindow.xaml +++ b/Elwig/Windows/ChartWindow.xaml @@ -75,8 +75,8 @@ - - + + @@ -94,8 +94,8 @@ - - + + diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 843da3d..7a512a9 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -268,6 +268,7 @@ @@ -438,7 +439,7 @@ - + @@ -460,7 +461,7 @@