private void AddOutgoingRecords(tblAdjust adjustment, IEnumerable <InventoryAdjustmentItem> items) { foreach (var item in items) { var lotNumber = LotNumberBuilder.BuildLotNumber(item); var location = OldContextHelper.GetLocation(item.Location); var treatment = OldContextHelper.GetTreatment(item.Treatment); var packaging = item.PackagingProduct; if (item.Lot.PackagingLot != null) { packaging = item.Lot.PackagingLot.PackagingProduct; } var tblPackaging = OldContextHelper.GetPackaging(packaging); var outgoing = new tblOutgoing { AdjustID = adjustment.AdjustID, EmployeeID = adjustment.EmployeeID, EntryDate = DateTime.UtcNow.ConvertUTCToLocal().RoundMillisecondsForSQL(), Lot = lotNumber, TTypeID = (int?)TransType.InvAdj, PkgID = tblPackaging.PkgID, Tote = item.ToteKey, Quantity = -item.QuantityAdjustment, NetWgt = tblPackaging.NetWgt, TtlWgt = -item.QuantityAdjustment * tblPackaging.NetWgt, LocID = location.LocID, TrtmtID = treatment.TrtmtID }; adjustment.tblOutgoings.Add(outgoing); } }
private static tblOutgoing CreateOutgoing(TreatmentOrder order, tblMoveDetail oldDetail, int quantitySign = 1) { var quantity = oldDetail.Quantity * quantitySign; var result = new tblOutgoing { EntryDate = DateTime.UtcNow.ConvertUTCToLocal().RoundMillisecondsForSQL(), Lot = oldDetail.Lot, TTypeID = (int?)TransType.FrmTrmt, PkgID = oldDetail.PkgID, Tote = null, Quantity = quantity, NetWgt = oldDetail.tblPackaging.NetWgt, TtlWgt = quantity * oldDetail.tblPackaging.NetWgt, LocID = oldDetail.LocID, TrtmtID = oldDetail.TrtmtID, EmployeeID = order.InventoryShipmentOrder.PickedInventory.EmployeeId, BOMID = 0, BatchLot = 0, MoveNum = order.InventoryShipmentOrder.MoveNum, MDetail = oldDetail.MDetail, CustProductCode = oldDetail.CustProductCode }; return(result); }