// // DO NOT EDIT: generated by fsdgencsharp // using System; using System.Collections.Generic; using System.Collections.ObjectModel; using Facility.Core; namespace OapApi.v1.Client { [System.CodeDom.Compiler.GeneratedCode("fsdgencsharp", "")] [Newtonsoft.Json.JsonConverter(typeof(ApplicationStatusJsonConverter))] [System.Text.Json.Serialization.JsonConverter(typeof(ApplicationStatusSystemTextJsonConverter))] public partial struct ApplicationStatus : IEquatable { public static readonly ApplicationStatus InProgress = new ApplicationStatus(Strings.InProgress); public static readonly ApplicationStatus Submitted = new ApplicationStatus(Strings.Submitted); /// /// Creates an instance. /// public ApplicationStatus(string value) => m_value = value; /// /// Converts the instance to a string. /// public override string ToString() => m_value != null && s_valueCache.TryGetValue(m_value, out var cachedValue) ? cachedValue : m_value ?? ""; /// /// Checks for equality. /// public bool Equals(ApplicationStatus other) => StringComparer.OrdinalIgnoreCase.Equals(m_value ?? "", other.m_value ?? ""); /// /// Checks for equality. /// public override bool Equals(object obj) => obj is ApplicationStatus && Equals((ApplicationStatus) obj); /// /// Gets the hash code. /// public override int GetHashCode() => StringComparer.OrdinalIgnoreCase.GetHashCode(m_value ?? ""); /// /// Checks for equality. /// public static bool operator ==(ApplicationStatus left, ApplicationStatus right) => left.Equals(right); /// /// Checks for inequality. /// public static bool operator !=(ApplicationStatus left, ApplicationStatus right) => !left.Equals(right); /// /// Returns true if the instance is equal to one of the defined values. /// public bool IsDefined() => m_value != null && s_valueCache.ContainsKey(m_value); /// /// Returns all of the defined values. /// public static IReadOnlyList GetValues() => s_values; /// /// Provides string constants for defined values. /// public static class Strings { public const string InProgress = "InProgress"; public const string Submitted = "Submitted"; } /// /// Used for serialization. /// public sealed class ApplicationStatusJsonConverter : ServiceEnumJsonConverter { /// /// Creates the value from a string. /// protected override ApplicationStatus CreateCore(string value) => new ApplicationStatus(value); } /// /// Used for serialization. /// public sealed class ApplicationStatusSystemTextJsonConverter : ServiceEnumSystemTextJsonConverter { /// /// Creates the value from a string. /// protected override ApplicationStatus CreateCore(string value) => new ApplicationStatus(value); } private static readonly ReadOnlyCollection s_values = new ReadOnlyCollection( new[] { InProgress, Submitted, }); private static readonly IReadOnlyDictionary s_valueCache = new Dictionary(StringComparer.OrdinalIgnoreCase) { { Strings.InProgress, Strings.InProgress }, { Strings.Submitted, Strings.Submitted }, }; private readonly string m_value; } }