using System.ComponentModel.DataAnnotations; using SVSim.Database.Common; using SVSim.Database.Enums; namespace SVSim.Database.Models; public class ShadowverseDeckEntry : BaseEntity { /// /// Internal deck name. /// [Required(AllowEmptyStrings = false)] public string Name { get; set; } = string.Empty; /// /// Cards in this deck. /// public List Cards { get; set; } = new List(); public int Number { get; set; } public Format Format { get; set; } public bool RandomLeaderSkin { get; set; } /// /// MyRotation period id (key into ). Required when /// is so the client can resolve the /// deck's pack range; null for every other format. If null on a MyRotation deck, clicking /// the deck NREs inside DeckData.CreateMyRotationClassName (info.LastPackText on null). /// public string? MyRotationId { get; set; } #region Navigation Properties public ClassEntry Class { get; set; } = new ClassEntry(); public SleeveEntry Sleeve { get; set; } = new SleeveEntry(); public LeaderSkinEntry LeaderSkin { get; set; } = new LeaderSkinEntry(); #endregion }