mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-27 08:21:05 -04:00
Auto Nest's Stock Options gets a Load from ledger button that reads the nest
material's free sheets and drops from MaterialLedger's API-key-protected
GET /api/stock/opennest. Ledger rows are request-local: the engine sees them as
ordinary NestPlateStock rows with ledger:{n} ids and finite quantities, and they
are never written to Nest.PlateOptions.
- OpenNest.Data/MaterialLedger: settings file, read-only client (X-Api-Key,
5 s timeout, closed LedgerStockResult set) and LedgerStockMapper (bundles and
sheets one row each, same-size drops grouped with ordered item codes, unknown
shapes and too-small items skipped, inch/mm conversion).
- Options: MaterialLedger URL and API key (DPAPI, CurrentUser) with Test.
- Auto Nest grid: Use, Qty and Source columns for every row; PlateOption gains
request-local Quantity and Id, which NestStockBuilder passes to the engine.
Ledger rows score by area; hand-typed costs stay saved.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
573 B
C#
18 lines
573 B
C#
namespace OpenNest
|
|
{
|
|
public class PlateOption
|
|
{
|
|
public double Width { get; set; }
|
|
public double Length { get; set; }
|
|
public double Cost { get; set; }
|
|
|
|
/// <summary>Sheets on hand for this request; null offers the size without limit. Not saved with the nest.</summary>
|
|
public int? Quantity { get; set; }
|
|
|
|
/// <summary>The engine stock id for this request; null uses the option's position. Not saved with the nest.</summary>
|
|
public string Id { get; set; }
|
|
|
|
public double Area => Width * Length;
|
|
}
|
|
}
|