protected virtual void applyAttributes() { List <POReceiptLineSplit> splitList = Base.splits.Select().RowCast <POReceiptLineSplit>().Select(PXCache <POReceiptLineSplit> .CreateCopy).ToList(); if (splitList.Count <= 1) { return; } POReceiptLineSplit firstSplit = splitList.First(); UsrInventoryLotSerialContainer firstlotAttribs = PXSelect <UsrInventoryLotSerialContainer, Where <UsrInventoryLotSerialContainer.inventoryID, Equal <Required <POReceiptLineSplit.inventoryID> >, And <UsrInventoryLotSerialContainer.lotSerialNbr, Equal <Required <POReceiptLineSplit.lotSerialNbr> > > > > .Select(Base, firstSplit.InventoryID, firstSplit.LotSerialNbr); foreach (POReceiptLineSplit split in splitList) { UsrInventoryLotSerialContainer lotAttribs = PXSelect <UsrInventoryLotSerialContainer, Where <UsrInventoryLotSerialContainer.inventoryID, Equal <Required <POReceiptLineSplit.inventoryID> >, And <UsrInventoryLotSerialContainer.lotSerialNbr, Equal <Required <POReceiptLineSplit.lotSerialNbr> > > > > .Select(Base, split.InventoryID, split.LotSerialNbr); if (firstlotAttribs.NoteID != lotAttribs.NoteID) { Attributes.CopyAllAttributes(lotAttribs, firstlotAttribs); } } }
public void AssociateAttributeToLotSerial(POReceiptLineSplit line) { if ((line == null) || (String.IsNullOrEmpty(line.LotSerialNbr))) { return; } UsrInventoryLotSerialContainer eContainer = InventoryLotSerialContainer.Search <UsrInventoryLotSerialContainer.inventoryID, UsrInventoryLotSerialContainer.lotSerialNbr> (line.InventoryID, line.LotSerialNbr); if (eContainer != null) { InventoryLotSerialContainer.Current = eContainer; } else { UsrInventoryLotSerialContainer lotAtttrib = new UsrInventoryLotSerialContainer(); lotAtttrib.InventoryID = line.InventoryID; lotAtttrib.LotSerialNbr = line.LotSerialNbr; lotAtttrib = InventoryLotSerialContainer.Insert(lotAtttrib); } }