using System.ComponentModel.DataAnnotations.Schema; namespace Distribution.Models { public class StockBalance { public Guid Id { get; set; } = Guid.NewGuid(); public Guid FK_ItemId { get; set; } [ForeignKey("FK_ItemId")] public Item Item { get; set; } public Guid LocationId { get; set; } public LocationType LocationType { get; set; } /// Null for items that don't track batches/expiry — no behavior change for existing items. public Guid? FK_ItemBatchId { get; set; } [ForeignKey("FK_ItemBatchId")] public ItemBatch? ItemBatch { get; set; } /// Null for items that don't track serial numbers. public Guid? FK_ItemSerialNumberId { get; set; } [ForeignKey("FK_ItemSerialNumberId")] public ItemSerialNumber? ItemSerialNumber { get; set; } public decimal Quantity { get; set; } public DateTime UpdatedAt { get; set; } = DateTime.Now; } }