From a498700ee7da68ccc9f953ffd43f50705a7c1e4f Mon Sep 17 00:00:00 2001 From: grim Date: Fri, 26 Dec 2025 21:43:32 +0100 Subject: [PATCH] equatable --- ServiceMonitor/ApplicationDescriptor.cs | 22 +++++++++++++++++++++- ServiceMonitor/ApplicationRealm.cs | 17 ++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/ServiceMonitor/ApplicationDescriptor.cs b/ServiceMonitor/ApplicationDescriptor.cs index 3dec5d0..4b22525 100644 --- a/ServiceMonitor/ApplicationDescriptor.cs +++ b/ServiceMonitor/ApplicationDescriptor.cs @@ -1,6 +1,6 @@ namespace ServiceMonitor; -public sealed class ApplicationDescriptor +public sealed class ApplicationDescriptor : IEquatable { public static readonly ApplicationDescriptor CzechWorker = new ApplicationDescriptor(ApplicationRealm.Czech, ApplicationType.Worker); public static readonly ApplicationDescriptor CzechManager = new ApplicationDescriptor(ApplicationRealm.Czech, ApplicationType.Manager); @@ -58,6 +58,26 @@ public sealed class ApplicationDescriptor public ApplicationType Type { get; } + public bool Equals(ApplicationDescriptor? other) + { + if (other is null) + { + return false; + } + + if (other.Type != Type) + { + return false; + } + + if (other.Realm != Realm) + { + return false; + } + + return true; + } + public override string ToString() { return string.Format("{0}-{1}", Realm.Name.ToLower(), Type.ToString().ToLower()); diff --git a/ServiceMonitor/ApplicationRealm.cs b/ServiceMonitor/ApplicationRealm.cs index 64bbf3e..62cb550 100644 --- a/ServiceMonitor/ApplicationRealm.cs +++ b/ServiceMonitor/ApplicationRealm.cs @@ -1,6 +1,6 @@ namespace ServiceMonitor; -public sealed class ApplicationRealm +public sealed class ApplicationRealm : IEquatable { public static readonly ApplicationRealm Czech = new ApplicationRealm("czech"); @@ -43,6 +43,21 @@ public sealed class ApplicationRealm public string Name { get; } + public bool Equals(ApplicationRealm? other) + { + if (other is null) + { + return false; + } + + if (!string.Equals(other.Name, Name, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + + return true; + } + public override string ToString() { return string.Format("realm = '{0}'", Name);