using OpenNest; namespace OpenNest.Data; /// /// Server-side metadata for one saved nest. The .nest archive itself is stored /// alongside; this record is what lists, filters and status tracking read. /// Counts are captured by the client at save time. /// public sealed class NestRecord { public Guid Id { get; set; } /// Server revision; zero means the server does not support history. public int Revision { get; set; } public bool Deleted { get; set; } /// Selected historical revision promoted by an explicit Restore. public int? RestoredFromRevision { get; set; } public string Name { get; set; } = ""; public string Customer { get; set; } = ""; public DateTime DateCreated { get; set; } public DateTime DateModified { get; set; } public string Material { get; set; } = ""; /// Material grade; blank when none was chosen or the server predates grades. public string MaterialGrade { get; set; } = ""; public double Thickness { get; set; } /// /// The nest's units, which is in. The server reads them from the /// archive like the counts; inches when the archive has none or the server predates them. /// public Units Units { get; set; } /// quote | toBeCut | hasBeenCut (camelCase on the wire, case-insensitive readers). public NestStatus Status { get; set; } = NestStatus.Quote; public int PlateCount { get; set; } public int PartCount { get; set; } public string Comments { get; set; } = ""; public string MadeBy { get; set; } = ""; /// Size of the stored .nest archive in bytes. public long FileSize { get; set; } /// When the server last stored the nest contents or metadata. public DateTime SavedAt { get; set; } }