namespace BlueLaminate.EFCore.Entities; public class SkinCondition { public int Id { get; set; } public int SkinId { get; set; } public Skin Skin { get; set; } = null!; public string Condition { get; set; } = null!; public decimal MinFloat { get; set; } public decimal MaxFloat { get; set; } // When the catalogue-driven listing sweep last fully covered this skin's wear // band. The sweep splits each skin by wear and pages one band at a time, so this // is the per-band checkpoint: an interrupted run resumes from never-swept/stalest // bands rather than redoing a whole skin. Null until the first sweep reaches it. public DateTimeOffset? ListingsSweptAt { get; set; } public ICollection Instances { get; set; } = new List(); public ICollection PriceHistories { get; set; } = new List(); }