From 9100057ae23974bc7ec66d27461742a66f9808e0 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Wed, 2 Aug 2023 08:09:12 +0200 Subject: [PATCH] more constructors for UniquieID --- Pilz.Cryptography/UniquieID.cs | 23 +++++++++++++++----- Pilz.Cryptography/UniquieIDGenerationMode.cs | 13 +++++++++++ 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 Pilz.Cryptography/UniquieIDGenerationMode.cs diff --git a/Pilz.Cryptography/UniquieID.cs b/Pilz.Cryptography/UniquieID.cs index b47068b..e493013 100644 --- a/Pilz.Cryptography/UniquieID.cs +++ b/Pilz.Cryptography/UniquieID.cs @@ -16,10 +16,10 @@ namespace Pilz.Cryptography protected string _iD; [JsonIgnore] - public virtual bool SimpleMode { get; set; } = false; + public virtual bool SimpleMode { get; } [JsonIgnore] - public virtual bool GenerateOnGet { get; set; } = false; + public virtual bool GenerateOnGet { get; } [JsonIgnore] public virtual bool HasID => !string.IsNullOrEmpty(_iD); @@ -37,14 +37,27 @@ namespace Pilz.Cryptography => _iD = value; } - public UniquieID() : this(false) + public UniquieID() : this(UniquieIDGenerationMode.None) { } - public UniquieID(bool autoGenerate) + public UniquieID(UniquieIDGenerationMode mode) : this(mode, false) { - if (autoGenerate) + } + + public UniquieID(UniquieIDGenerationMode mode, bool simpleMode) + { + SimpleMode = simpleMode; + + if (mode == UniquieIDGenerationMode.GenerateOnInit) GenerateIfNull(); + else if (mode == UniquieIDGenerationMode.GenerateOnGet) + GenerateOnGet = true; + } + + [Obsolete] + public UniquieID(bool autoGenerate) : this(autoGenerate ? UniquieIDGenerationMode.GenerateOnInit : UniquieIDGenerationMode.None) + { } public virtual void Generate() diff --git a/Pilz.Cryptography/UniquieIDGenerationMode.cs b/Pilz.Cryptography/UniquieIDGenerationMode.cs new file mode 100644 index 0000000..d7f0c34 --- /dev/null +++ b/Pilz.Cryptography/UniquieIDGenerationMode.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Pilz.Cryptography +{ + public enum UniquieIDGenerationMode + { + None, + GenerateOnGet, + GenerateOnInit + } +}