namespace Model; public class UserDeck { public Guid Id { get; set; } = Guid.NewGuid(); public string Name { get; set; } = ""; public List Cards { get; set; } = []; public List Divers { get; set; } = []; public string? Notes { get; set; } public string? Season { get; set; } = "Season 1"; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; public bool IsValid => Cards.Count == 40 && Divers.Count == 2 && Divers[0] != Divers[1] && !Cards.Contains(Divers[0]) && !Cards.Contains(Divers[1]); public string ValidationMessage { get { if (Cards.Count < 40) return $"Deck needs {40 - Cards.Count} more card{(40 - Cards.Count == 1 ? "" : "s")}."; if (Cards.Count > 40) return $"Deck has {Cards.Count - 40} too many cards."; if (Divers.Count < 2) return $"Deck needs {2 - Divers.Count} more diver{(2 - Divers.Count == 1 ? "" : "s")}."; if (Divers.Count > 2) return "Deck can only have 2 divers."; if (Divers.Count == 2 && Divers[0] == Divers[1]) return "Diver cards must be unique."; if (Divers.Any(d => Cards.Contains(d))) return "Diver cards cannot be in the main deck."; return "Deck is valid."; } } }