protected virtual void INItemSite_RowUpdated(PXCache sender, PXRowUpdatedEventArgs e) { INItemSite itemsite = (INItemSite)e.Row; INItemSite olditemsite = (INItemSite)e.OldRow; InventoryItem item = itemrecord.Current; if (olditemsite.StdCostOverride == true && itemsite.StdCostOverride == false) { itemsite.PendingStdCost = item.PendingStdCost; itemsite.PendingStdCostDate = item.PendingStdCostDate; itemsite.StdCost = item.StdCost; itemsite.StdCostDate = item.StdCostDate; itemsite.LastStdCost = item.LastStdCost; } if (olditemsite.BasePriceOverride == true && itemsite.BasePriceOverride == false) { itemsite.PendingBasePrice = item.PendingBasePrice; itemsite.PendingBasePriceDate = item.PendingBasePriceDate; itemsite.BasePrice = item.BasePrice; itemsite.BasePriceDate = item.BasePriceDate; itemsite.LastBasePrice = item.LastBasePrice; } if (olditemsite.ABCCodeOverride == true && itemsite.ABCCodeOverride == false) { itemsite.ABCCodeID = item.ABCCodeID; itemsite.ABCCodeIsFixed = item.ABCCodeIsFixed; } if (olditemsite.MovementClassOverride == true && itemsite.MovementClassOverride == false) { itemsite.ABCCodeID = item.MovementClassID; itemsite.ABCCodeIsFixed = item.MovementClassIsFixed; } if (olditemsite.RecPriceOverride == true && itemsite.RecPriceOverride == false) { itemsite.RecPrice = item.RecPrice; } if (olditemsite.MarkupPctOverride == true && itemsite.MarkupPctOverride == false) { itemsite.MarkupPct = item.MarkupPct; } if (olditemsite.PreferredVendorOverride == true && itemsite.PreferredVendorOverride == false) { itemsite.PreferredVendorID = item.PreferredVendorID; itemsite.PreferredVendorLocationID = item.PreferredVendorLocationID; } INItemSiteMaint.DefaultItemReplenishment(this, itemsite); foreach (ItemStats stats in itemstats.Cache.Inserted) { itemstats.Cache.Delete(stats); } if (itemsite.PreferredVendorID == null) { itemsite.PreferredVendorLocationID = null; } if (itemsite.LastCostDate != null && itemsite.LastCost != null && itemsite.LastCost != 0m) { ItemStats stats = new ItemStats(); stats.InventoryID = itemsite.InventoryID; stats.SiteID = itemsite.SiteID; stats = itemstats.Insert(stats); stats.LastCost = itemsite.LastCost; stats.LastCostDate = itemsite.LastCostDate; } if ((olditemsite.ReplenishmentClassID != itemsite.ReplenishmentClassID && itemsite.SubItemOverride != true) || (olditemsite.SubItemOverride == true && itemsite.SubItemOverride == false)) { DefaultSubItemReplenishment(this, itemsite); } if (itemsite.PreferredVendorOverride == true && item.DefaultSubItemID != null && (itemsite.PreferredVendorID != olditemsite.PreferredVendorID || itemsite.PreferredVendorLocationID != olditemsite.PreferredVendorLocationID)) { POVendorInventory rec = PXSelect <POVendorInventory, Where <POVendorInventory.inventoryID, Equal <Current <INItemSite.inventoryID> >, And <POVendorInventory.subItemID, Equal <Current <InventoryItem.defaultSubItemID> >, And <POVendorInventory.purchaseUnit, Equal <Current <InventoryItem.purchaseUnit> >, And <POVendorInventory.vendorID, Equal <Current <INItemSite.preferredVendorID> >, And <Where2 <Where <Current <INItemSite.preferredVendorLocationID>, IsNotNull, And <POVendorInventory.vendorLocationID, Equal <Current <INItemSite.preferredVendorLocationID> > > >, Or <Where <Current <INItemSite.preferredVendorLocationID>, IsNull, And <POVendorInventory.vendorLocationID, IsNull> > > > > > > > > > .SelectSingleBound(this, new object[] { itemsite, item }); if (rec == null) { rec = new POVendorInventory(); rec.InventoryID = item.InventoryID; rec.SubItemID = item.DefaultSubItemID; rec.PurchaseUnit = item.PurchaseUnit; rec.VendorID = itemsite.PreferredVendorID; rec.VendorLocationID = itemsite.PreferredVendorLocationID; this.PreferredVendorItem.Insert(rec); } } }