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();
}