namespace OpenNest.Data;
///
/// One revision of a drawing set: a named list of library drawings with per-member
/// quantities (a kit, an assembly, a recurring order). Members reference drawings by id;
/// the set always means each drawing's current revision.
///
public sealed class DrawingSetRecord
{
/// Allocated by the client before the first save; kept by every revision.
public Guid Id { get; set; }
/// Immutable revision number, starting at 1. Ignored on save.
public int Revision { get; set; }
public string Name { get; set; } = "";
public string Customer { get; set; } = "";
public string Notes { get; set; } = "";
/// Hidden from browsing by default; still readable by id.
public bool Archived { get; set; }
/// When the server stored this revision. Server-computed.
public DateTime SavedAt { get; set; }
/// Who saved this revision, as reported by the client.
public string SavedBy { get; set; } = "";
/// Number of members in this revision. Server-computed.
public int MemberCount { get; set; }
///
/// The members in order, one per drawing. Empty on query and history pages, which
/// carry only.
///
public IReadOnlyList Members { get; set; } = Array.Empty();
}