protected virtual IEnumerable Action(PXAdapter adapter, [PXInt] [PXIntList(new int[] { 1, 2, 3 }, new string[] { "Update Price", "Update Cost", "View Restriction Groups" })] int?actionID ) { switch (actionID) { case 2: if (ItemSettings.Current != null && ItemSettings.Current.PendingStdCostDate != null) { ItemSettings.Current.LastStdCost = ItemSettings.Current.StdCost; ItemSettings.Current.StdCostDate = ItemSettings.Current.PendingStdCostDate.GetValueOrDefault((DateTime)this.Accessinfo.BusinessDate); ItemSettings.Current.StdCost = ItemSettings.Current.PendingStdCost; ItemSettings.Current.PendingStdCost = 0; ItemSettings.Current.PendingStdCostDate = null; ItemSettings.Update(ItemSettings.Current); this.Save.Press(); } break; case 3: if (Item.Current != null) { INAccessDetailByItem graph = CreateInstance <INAccessDetailByItem>(); graph.Item.Current = graph.Item.Search <InventoryItem.inventoryCD>(Item.Current.InventoryCD); throw new PXRedirectRequiredException(graph, false, "Restricted Groups"); } break; } return(adapter.Get()); }