Files
TenWholeYears.Server/RecNet.Domain/GameVersions/GameVersion.cs
2026-06-19 15:12:04 -05:00

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.");
}