Add OptimizationResultJson and OptimizedAt columns to Job table.
JobService now saves/clears optimization results and auto-clears
stale results when parts, stock, or cutting tool change.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add PurchaseItem entity with status tracking (Pending/Ordered/Received),
supplier and job relationships. Add LockedAt timestamp to Job entity for
controlling editability after materials are ordered. Includes
PurchaseItemService (CRUD + bulk create), JobService Lock/Unlock methods,
EF Core migrations, and DI registration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove SupplierStock entity
- Update Material navigation from SupplierStocks to StockItems
- Update Supplier navigation from Stocks to Offerings
- Update ApplicationDbContext with new DbSets and configurations
- Add unique constraints: StockItem(MaterialId, LengthInches) and
SupplierOffering(SupplierId, StockItemId)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates ApplicationDbContext to configure MaterialStockLength and
revised ProjectPart relationships.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a new web-based frontend for cut list optimization using:
- Blazor Server with .NET 8
- Entity Framework Core with MSSQL LocalDB
- Full CRUD for Materials, Suppliers, Projects, and Cutting Tools
- Supplier stock length management for quick project setup
- Integration with CutList.Core for bin packing optimization
- Print-friendly HTML reports with efficiency statistics
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>