namespace MMDAL.DTO.Packing { // TPACKDETAIL is polymorphic like TITEMREASON — ObjectHeaderTypeId/ObjectHeaderId point back // to the owning TPACKING row (EntityConstant.OBJECTPACKING + PackingId, confirmed live via // PackingQB.cs's GET_SELECTLIST_PACKING_SQL); ObjectTypeId/ObjectId identify the SOURCE line // this pack content was drawn from (e.g. a TPRODUCTIONDETAIL row for Production Packing). public class PackDetailSaveDTO { public int PackDetailId { get; set; } public int PackNumberId { get; set; } = -1; public int BizTransactionTypeId { get; set; } = -1; public int ObjectHeaderTypeId { get; set; } = -1; public int ObjectHeaderId { get; set; } public int ObjectTypeId { get; set; } = -1; public int ObjectId { get; set; } = -1; public short SlNo { get; set; } public int ItemId { get; set; } = -1; public int SkuId { get; set; } = -1; public decimal Quantity { get; set; } public decimal Shortage { get; set; } public decimal Excess { get; set; } public decimal NetQuantity { get; set; } public decimal GoodQuantity { get; set; } public decimal RejectedQuantity { get; set; } public decimal ReworkQuantity { get; set; } public decimal OtherQuantity { get; set; } public decimal GrossWeight { get; set; } public decimal NetWeight { get; set; } public decimal TareWeight { get; set; } public decimal PlannedQuantity { get; set; } public string Remarks { get; set; } = string.Empty; public int OUId { get; set; } = -1; public int StoreId { get; set; } = -1; public string StockLedgerNumber { get; set; } = string.Empty; public DateTime StockLedgerDate { get; set; } = DateTime.UtcNow; public string ReferenceNumber { get; set; } = string.Empty; public DateTime ReferenceDate { get; set; } = DateTime.UtcNow; public byte LocationType { get; set; } public int PartyBranchId { get; set; } = -1; public byte StockPostType { get; set; } public byte MaterialOwnershipType { get; set; } public int ExciseSlNo { get; set; } public int DocumentDetailId { get; set; } = -1; } }