namespace MMDAL.DTO.PartLevel { public class PartPositionDTO { public int PartPositionId { get; set; } public int ItemId { get; set; } public string ItemCode { get; set; } = string.Empty; public string ItemName { get; set; } = string.Empty; public int? PartDimId { get; set; } public string? DimensionLabel { get; set; } public int StoreId { get; set; } public string? StoreName { get; set; } public int? LotId { get; set; } public string? LotCode { get; set; } public decimal Available { get; set; } public decimal Reserved { get; set; } public decimal Issued { get; set; } public int TenantId { get; set; } } public class PartShortageDTO { public int ItemId { get; set; } public string ItemCode { get; set; } = string.Empty; public string ItemName { get; set; } = string.Empty; public int? PartDimId { get; set; } public string? DimensionLabel { get; set; } public decimal RequiredQty { get; set; } public decimal AvailableQty { get; set; } public decimal ShortageQty { get; set; } public short Priority { get; set; } public int TenantId { get; set; } } public class InitialisePartPositionDTO { public int StoreId { get; set; } public int? ItemId { get; set; } // null = all items in store public bool ResetToZero { get; set; } // true = overwrite existing; false = skip existing rows } }