namespace Chrono.Model; public class DeckData { public string Name { get; init; } = ""; public List Cards { get; init; } = []; public List Keycards { get; init; } = []; public List Divers { get; init; } = []; public string? Description { get; init; } public string? DeckCode { get; init; } public List Factions { get; init; } = []; public bool IsVisible { get; init; } public bool IsValid => Cards.Count == 40 && Divers.Count <= 2; public string ValidationMessage => (Cards.Count, Divers.Count) switch { (< 40, _) => $"Deck needs {40 - Cards.Count} more cards.", (> 40, _) => $"Deck has {Cards.Count - 40} too many cards.", (_, > 2) => "Deck can only have 2 Divers.", _ => "Deck is valid." }; }