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>
26 lines
692 B
C#
26 lines
692 B
C#
namespace CutList.Web.Data.Entities;
|
|
|
|
public enum PurchaseItemStatus
|
|
{
|
|
Pending,
|
|
Ordered,
|
|
Received
|
|
}
|
|
|
|
public class PurchaseItem
|
|
{
|
|
public int Id { get; set; }
|
|
public int StockItemId { get; set; }
|
|
public int? SupplierId { get; set; }
|
|
public int Quantity { get; set; }
|
|
public int? JobId { get; set; }
|
|
public string? Notes { get; set; }
|
|
public PurchaseItemStatus Status { get; set; } = PurchaseItemStatus.Pending;
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
public DateTime? UpdatedAt { get; set; }
|
|
|
|
public StockItem StockItem { get; set; } = null!;
|
|
public Supplier? Supplier { get; set; }
|
|
public Job? Job { get; set; }
|
|
}
|