...
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
namespace Model;
|
||||
|
||||
public class UserDeck
|
||||
{
|
||||
public Guid Id { get; set; } = Guid.NewGuid();
|
||||
public string Name { get; set; } = "";
|
||||
public List<string> Cards { get; set; } = [];
|
||||
public List<string> 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.";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user