more constructors for UniquieID

This commit is contained in:
2023-08-02 08:09:12 +02:00
parent 67be15157c
commit 9100057ae2
2 changed files with 31 additions and 5 deletions

View File

@@ -16,10 +16,10 @@ namespace Pilz.Cryptography
protected string _iD; protected string _iD;
[JsonIgnore] [JsonIgnore]
public virtual bool SimpleMode { get; set; } = false; public virtual bool SimpleMode { get; }
[JsonIgnore] [JsonIgnore]
public virtual bool GenerateOnGet { get; set; } = false; public virtual bool GenerateOnGet { get; }
[JsonIgnore] [JsonIgnore]
public virtual bool HasID => !string.IsNullOrEmpty(_iD); public virtual bool HasID => !string.IsNullOrEmpty(_iD);
@@ -37,14 +37,27 @@ namespace Pilz.Cryptography
=> _iD = value; => _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(); GenerateIfNull();
else if (mode == UniquieIDGenerationMode.GenerateOnGet)
GenerateOnGet = true;
}
[Obsolete]
public UniquieID(bool autoGenerate) : this(autoGenerate ? UniquieIDGenerationMode.GenerateOnInit : UniquieIDGenerationMode.None)
{
} }
public virtual void Generate() public virtual void Generate()

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Pilz.Cryptography
{
public enum UniquieIDGenerationMode
{
None,
GenerateOnGet,
GenerateOnInit
}
}