From 577a3a0a6372975d55cbba19306cf4b2a9797ca1 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Thu, 25 May 2023 20:48:48 +0200 Subject: [PATCH] Update DeliveryAdminWindow --- Elwig/Models/WineQualLevel.cs | 21 +++++++- Elwig/Windows/AdministrationWindow.cs | 8 +++ Elwig/Windows/DeliveryAdminWindow.xaml | 9 ++-- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 60 ++++++++++++++++------- 4 files changed, 76 insertions(+), 22 deletions(-) diff --git a/Elwig/Models/WineQualLevel.cs b/Elwig/Models/WineQualLevel.cs index 144051b..9609f9d 100644 --- a/Elwig/Models/WineQualLevel.cs +++ b/Elwig/Models/WineQualLevel.cs @@ -1,10 +1,13 @@ using Elwig.Helpers; using Microsoft.EntityFrameworkCore; +using System; using System.ComponentModel.DataAnnotations.Schema; +using System.Configuration; +using System.Security.Cryptography.Pkcs; namespace Elwig.Models { [Table("wine_quality_level"), PrimaryKey("QualId")] - public class WineQualLevel { + public class WineQualLevel : IEquatable { [Column("qualid")] public string QualId { get; private set; } @@ -24,5 +27,21 @@ namespace Elwig.Models { public string Name { get; private set; } public string MinKmwStr => (MinKmw == null) ? "" : $"(mind. {MinKmw:#.0}°)"; + + public override bool Equals(object? obj) { + return Equals(obj as WineQualLevel); + } + + public bool Equals(WineQualLevel? obj) { + return QualId == obj?.QualId; + } + + public static bool operator ==(WineQualLevel? q1, WineQualLevel? q2) { + return q1?.Equals(q2) ?? Equals(q1, q2); + } + + public static bool operator !=(WineQualLevel? q1, WineQualLevel? q2) { + return !(q1?.Equals(q2) ?? Equals(q1, q2)); + } } } diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index 80bed34..7b190cb 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -153,6 +153,14 @@ namespace Elwig.Windows { OriginalValues[rb] = (rb.IsChecked ?? false) ? bool.TrueString : null; } + protected void SetOriginalValue(Control input, object? value) { + OriginalValues[input] = value; + } + + protected void UnsetOriginalValue(Control input) { + OriginalValues.Remove(input); + } + protected void ClearInputs() { foreach (var tb in TextBoxInputs) tb.Text = ""; diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index a6cc01d..2e2a1de 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -84,7 +84,8 @@ SelectionChanged="MemberInput_SelectionChanged"/>