protected virtual IEnumerable ResetGroup(PXAdapter adapter) { if (VendorClassRecord.Ask(Messages.Warning, Messages.GroupUpdateConfirm, MessageButtons.OKCancel) == WebDialogResult.OK) { Save.Press(); string classID = VendorClassRecord.Current.VendorClassID; PXLongOperation.StartOperation(this, delegate() { Reset(classID); }); } return(adapter.Get()); }
protected virtual void INItemSite_DfltShipLocationID_FieldVerifying(PXCache cache, PXFieldVerifyingEventArgs e) { if (e.Row == null) { return; } INItemSite is_row = (INItemSite)e.Row; INLocation l = PXSelect <INLocation, Where <INLocation.locationID, Equal <Required <INLocation.locationID> > > > .Select(this, e.NewValue); if (l == null) { return; } if (!(l.SalesValid ?? true)) { if (itemsiterecord.Ask(AP.Messages.Warning, Messages.IssuesAreNotAllowedFromThisLocationContinue, MessageButtons.YesNo, false) == WebDialogResult.No) { e.NewValue = is_row.DfltShipLocationID; e.Cancel = true; } } }
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()); }