using SVSim.Database.Common;
namespace SVSim.Database.Models;
///
/// One purchasable prebuilt-deck product. PK = wire product_id. FK SeriesId.
/// Pricing columns are nullable; either Crystal or Rupy pair (or both, both zero for free) must
/// be populated for an enabled product. The Intro/Regular pair captures the two-tier pricing
/// pattern: Intro applies to the first purchase, Regular to subsequent. For PurchaseNumMax=1
/// products, Regular stays null and only Intro is ever served.
///
public class BuildDeckProductEntry : BaseEntity
{
public int SeriesId { get; set; }
public int LeaderId { get; set; }
public string DeckCode { get; set; } = string.Empty;
public string ProductNameKey { get; set; } = string.Empty; // BDPN_*
public long FeaturedCardId { get; set; }
public int PurchaseNumMax { get; set; }
public int? IntroPriceCrystal { get; set; }
public int? RegularPriceCrystal { get; set; }
public int? IntroPriceRupy { get; set; }
public int? RegularPriceRupy { get; set; }
public bool IsEnabled { get; set; }
public List Cards { get; set; } = new();
public List Rewards { get; set; } = new();
public BuildDeckSeriesEntry? Series { get; set; }
}