namespace QMSDAL.DTO
{
// Response for GetGeneratedSets — backs the old Matrix Planner's
// SetFrom/SetTo picklist. SetFrom/SetTo are the real MIN/MAX of the sets
// actually generated (never 0 — 0 is not a valid set number; the first
// real set is always 1), so the FE can bound the picker directly instead
// of deriving it from the flat list itself. GeneratedSets carries the full
// list for cases where the picker needs every individual set, not just
// the outer bounds (e.g. gaps from a partially-regenerated range).
public class GeneratedSetsPicklistDTO
{
public int AllotedAllocationId { get; set; }
/// The FG item this allocation's sets were generated for — pass this as ExplodeBOM's ProductItemId. 0 if no sets have been generated yet.
public int ItemId { get; set; }
/// Lowest generated set number. 0 if no sets have been generated yet — never a valid pick.
public int SetFrom { get; set; }
/// Highest generated set number. 0 if no sets have been generated yet.
public int SetTo { get; set; }
/// Count of sets actually generated — same as GeneratedSets.Count.
public int TotalGenerated { get; set; }
/// The full list of generated set numbers, ascending. Empty if none generated yet.
public List GeneratedSets { get; set; } = new();
}
}