protected virtual IEnumerable addItem(PXAdapter e) { if (this.InventoryFilter.AskExt((graph, viewName) => graph.Views[viewName].Cache.Clear(), true) == WebDialogResult.OK) { var source = this.InventoryFilter.Current.EndInventoryID == null ? PXSelect <InventoryItem, Where <InventoryItem.stkItem, Equal <boolTrue>, And <InventoryItem.itemStatus, NotEqual <InventoryItemStatus.inactive>, And <InventoryItem.itemStatus, NotEqual <InventoryItemStatus.markedForDeletion>, And <InventoryItem.inventoryCD, GreaterEqual <Required <InventoryItem.inventoryCD> > > > > > > .Select(this, this.InventoryFilter.Cache.GetValueExt <INPIInventoryFilter.startInventoryID>( this.InventoryFilter.Current).ToString()) : PXSelect <InventoryItem, Where <InventoryItem.stkItem, Equal <boolTrue>, And <InventoryItem.itemStatus, NotEqual <InventoryItemStatus.inactive>, And <InventoryItem.itemStatus, NotEqual <InventoryItemStatus.markedForDeletion>, And <InventoryItem.inventoryCD, Between <Required <InventoryItem.inventoryCD>, Required <InventoryItem.inventoryCD> > > > > > > .Select(this, this.InventoryFilter.Cache.GetValueExt <INPIInventoryFilter.startInventoryID>(this.InventoryFilter.Current).ToString(), this.InventoryFilter.Cache.GetValueExt <INPIInventoryFilter.endInventoryID>(this.InventoryFilter.Current).ToString()); foreach (InventoryItem l in source) { INPIClassItem item = (INPIClassItem)Items.Cache.CreateInstance(); if (Items.Locate(item) == null) { item.InventoryID = l.InventoryID; Items.Insert(item); } } } return(e.Get()); }
protected virtual void EPAssignmentRule_RowInserting(PXCache sender, PXRowInsertingEventArgs e) { EPAssignmentRule row = e.Row as EPAssignmentRule; if (row != null) { if (!IsImport) { row.AssignmentRouteID = PositionFilter.Current.ItemID; } else if (PositionFilter.Current.RouteItemID != null && PositionFilter.Current.RouteItemID != row.AssignmentRouteID) { row.AssignmentRouteID = PositionFilter.Current.RouteItemID; Items.Current = Items.Locate(new EPAssignmentRoute { AssignmentMapID = PositionFilter.Current.MapID, AssignmentRouteID = row.AssignmentRouteID }); } } }
private IEnumerable PerformPaste(PXAdapter adapter) { var buffer = CutBuffer.Cache.Cached.Cast <ItemBuffer>().ToArray(); if (buffer.Any() == false) { return(adapter.Get()); } int newItemClassID = (int)ItemClasses.Current.ItemClassID; object[] inventoryIDs = buffer.Select(b => b.InventoryID).Cast <object>().ToArray(); var inventories = PXSelectReadonly <InventoryItem, Where <InventoryItem.inventoryID, In <Required <InventoryItem.inventoryID> > > > .Select(this, new[] { inventoryIDs }).RowCast <InventoryItem>().ToArray(); var notMatchItems = inventories.Where(i => i.StkItem != ItemClasses.Current.StkItem).ToArray(); if (notMatchItems.Any()) { String segmentedItemClassID = ItemClasses.Current.SegmentedClassCD.FirstSegment(' '); if (notMatchItems.Length == 1) { throw new PXInvalidOperationException( Messages.ItemClassAndInventoryItemStkItemShouldBeSameSingleItem, notMatchItems[0].InventoryCD.TrimEnd(), segmentedItemClassID); } else { PXTrace.WriteInformation( notMatchItems.Aggregate( new StringBuilder().AppendLine(PXMessages.LocalizeFormatNoPrefix(Messages.CouldNotBeMovedToItemClassItemsList, segmentedItemClassID)), (sb, item) => sb.AppendLine(item.InventoryCD.TrimEnd()), sb => sb.ToString())); throw new PXInvalidOperationException( Messages.ItemClassAndInventoryItemStkItemShouldBeSameManyItems, segmentedItemClassID); } } bool needToDefault = Inventories.Ask(AR.Messages.Warning, Messages.ItemClassChangeWarning, MessageButtons.YesNo) == WebDialogResult.Yes; Lazy <InventoryItemMaint> stockItemMaint = new Lazy <InventoryItemMaint>(CreateInstance <InventoryItemMaint>); Lazy <NonStockItemMaint> nonStockItemMaint = new Lazy <NonStockItemMaint>(CreateInstance <NonStockItemMaint>); foreach (InventoryItem inventory in inventories) { if (needToDefault) { InventoryItemMaintBase inventoryItemMaint = inventory.StkItem == true ? (InventoryItemMaintBase)stockItemMaint.Value : nonStockItemMaint.Value; inventoryItemMaint.Item.Current = inventory; using (inventoryItemMaint.MakeRuleWeakeningScopeFor <InventoryItem.lotSerClassID>(RuleWeakenLevel.SuppressError)) using (inventoryItemMaint.MakeRuleWeakeningScopeFor <InventoryItem.baseUnit>(RuleWeakenLevel.SuppressError)) using (stockItemMaint.Value.MakeRuleWeakeningScopeFor <InventoryItem.decimalBaseUnit>(RuleWeakenLevel.SuppressError)) { var copy = (InventoryItem)inventoryItemMaint.Item.Cache.CreateCopy(inventory); copy.ItemClassID = newItemClassID; inventoryItemMaint.Item.Update(copy); } inventoryItemMaint.Actions.PressSave(); } else { inventory.ItemClassID = newItemClassID; Inventories.Cache.Update(inventory); } Inventories.SetValueExt <InventoryItem.selected>(Inventories.Locate(inventory), false); } CutBuffer.Cache.Clear(); if (needToDefault) { Actions.PressCancel(); } else { Actions.PressSave(); } return(adapter.Get()); }