namespace OpenNest.Data; /// /// One release of a drawing set revision: the nests made from it, one per material group, /// with every member quantity multiplied by . Releases are /// append-only; a mistaken one is undone by deleting its nests, which then read as deleted. /// public sealed class SetReleaseRecord { /// Allocated by the client, so an ambiguous post can be retried without a duplicate. public Guid Id { get; set; } /// The set released. Taken from the route on post. public Guid SetId { get; set; } /// The exact set revision released; it need not be the current one. public int SetRevision { get; set; } /// The set's name at . Server-joined; ignored on post. public string SetName { get; set; } = ""; public int Multiplier { get; set; } = 1; public string Notes { get; set; } = ""; /// When the server stored the release. Server-computed. public DateTime ReleasedAt { get; set; } /// Who released the set, as reported by the client. public string ReleasedBy { get; set; } = ""; /// The nests created by the release, in the order posted. public IReadOnlyList Nests { get; set; } = Array.Empty(); }