using SVSim.Database.Common;
namespace SVSim.Database.Models;
///
/// One purchasable leader-skin product. PK = wire product_id (small ints in captures — e.g. 31,
/// 165, 166). FK . points at the
/// the buyer ends up owning.
///
public class LeaderSkinShopProductEntry : BaseEntity
{
public int SeriesId { get; set; }
public int LeaderSkinId { get; set; }
/// SystemText keys — resolved client-side via Data.Master.GetLeaderSkinProductText.
public string ProductNameKey { get; set; } = string.Empty;
public string IntroductionKey { get; set; } = string.Empty;
public string CvNameKey { get; set; } = string.Empty;
///
/// Per-product price for solo buy. Captures consistently show crystal/rupy parity for
/// regular skins (500c / 500r single, 400 unit-price when bought as set). Nullable so
/// promotions can offer one currency without the other.
///
public int? SinglePriceCrystal { get; set; }
public int? SinglePriceRupy { get; set; }
public int? SinglePriceTicket { get; set; }
public int? TicketNumber { get; set; }
public long? TicketItemId { get; set; }
public bool IsEnabled { get; set; }
public List Rewards { get; set; } = new();
public LeaderSkinShopSeriesEntry? Series { get; set; }
}