31 lines
816 B
C#
31 lines
816 B
C#
using RecNet.Domain.Exceptions;
|
|
|
|
namespace RecNet.Domain.GameVersions;
|
|
|
|
public class GameVersion
|
|
{
|
|
private GameVersion()
|
|
{
|
|
}
|
|
|
|
private GameVersion(string version, bool isValid)
|
|
{
|
|
Version = RequireValue(version, nameof(version));
|
|
IsValid = isValid;
|
|
}
|
|
|
|
public string Version { get; private set; } = string.Empty;
|
|
public bool IsValid { get; private set; }
|
|
|
|
public static GameVersion Create(string version, bool isValid)
|
|
=> new(version, isValid);
|
|
|
|
public void MarkValid()
|
|
=> IsValid = true;
|
|
|
|
public void MarkInvalid()
|
|
=> IsValid = false;
|
|
|
|
private static string RequireValue(string value, string parameterName)
|
|
=> !string.IsNullOrWhiteSpace(value) ? value : throw new DomainException($"{parameterName} is required.");
|
|
} |