protected virtual void VerifyTaxID(PXCache sender, object row, bool externalCall) { bool nomatch = false; PXCache cache = sender.Graph.Caches[_ChildType]; PXCache taxcache = sender.Graph.Caches[_TaxType]; //TODO: move details to parameter List<object> details = ChildSelect(cache, row); foreach (object det in details) { ITaxDetail taxzonedet = MatchesCategory(cache, det, (ITaxDetail)row); AddOneTax(taxcache, det, taxzonedet); } _NoSumTotals = (_TaxCalc == TaxCalc.ManualCalc && ((TaxDetail)row).TaxRate != 0m && externalCall == false); PXRowDeleting del = delegate (PXCache _sender, PXRowDeletingEventArgs _e) { nomatch |= object.ReferenceEquals(row, _e.Row); }; sender.Graph.RowDeleting.AddHandler(_TaxSumType, del); try { CalcTaxes(cache, null); } finally { sender.Graph.RowDeleting.RemoveHandler(_TaxSumType, del); } _NoSumTotals = false; if (nomatch) { sender.RaiseExceptionHandling("TaxID", row, ((TaxDetail)row).TaxID, new PXSetPropertyException(TX.Messages.NoLinesMatchTax, PXErrorLevel.RowError)); } sender.Current = row; }
protected virtual void VerifyTaxID(TaxTotal row, bool externalCall) { bool nomatch = false; //TODO: move details to parameter foreach (Detail det in Details.Select()) { ITaxDetail taxzonedet = MatchesCategory(det, (TaxItem)row); AddOneTax(det, taxzonedet); } object originalRow = TaxTotals.Cache.GetMain(row); _NoSumTotals = (CurrentDocument.TaxCalc == TaxCalc.ManualCalc && row.TaxRate != 0m && externalCall == false); PXRowDeleting del = delegate(PXCache _sender, PXRowDeletingEventArgs _e) { nomatch |= ReferenceEquals(originalRow, _e.Row); }; Base.RowDeleting.AddHandler(originalRow.GetType(), del); try { CalcTaxes(null); } finally { Base.RowDeleting.RemoveHandler(originalRow.GetType(), del); } _NoSumTotals = false; if (nomatch) { TaxTotals.Cache.RaiseExceptionHandling <TaxTotal.refTaxID>(row, row.RefTaxID, new PXSetPropertyException(Messages.NoLinesMatchTax, PXErrorLevel.RowError)); } TaxTotals.Cache.Current = row; }
protected virtual void CSAttributeDetail_RowDeleting(PXCache cache, PXRowDeletingEventArgs arguments, PXRowDeleting baseHandler) { if (arguments.Row is CSAttributeDetail attributeDetail) { baseHandler(cache, arguments); if (DoesAnyAttributeRelationExist(null, attributeDetail)) { arguments.Cancel = true; } } }
//public PXSelect<KNSIKCClassificationsMapping> ClassificationsMapping; will remove after testing protected virtual void INItemClass_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting InvokeBaseHandler) { InvokeBaseHandler?.Invoke(sender, e); if (e == null || e.Row == null) { return; } if (IsUsedInMapping(e.Row as INItemClass)) { throw new PXException(KCMessages.ThisItemClassCanNotBeDeletedBecauseItIsUsedInMapping); } }
protected virtual void SOLine_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting baseHandler) { baseHandler.Invoke(sender, e); }
protected virtual void SOOrder_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting baseHandler) { if (!(e.Row is SOOrder row)) { return; } row = (SOOrder)e.Row; if (KCLines != null) { var lines = KCLines.Select(row.OrderNbr).RowCast <SOLine>().ToList(); foreach (var line in lines) { KCLines.Delete(line); } } if (Base.Adjustments != null) { var adjlist = Base.Adjustments.Select().ToList(); foreach (var adj in adjlist) { Base.Adjustments.Delete(adj); } } Base.Save.PressButton(); baseHandler.Invoke(sender, e); }
protected virtual void CSAnswers_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting del) { if (del != null) { del.Invoke(sender, e); } CSAnswers row = (CSAnswers)e.Row; InventoryItem current = Base.Item.Current; if (row == null) { return; } if (current == null) { e.Cancel = true; } }
protected virtual void SOTaxTran_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting baseHandler) { if (!(e.Row is SOTaxTran row)) { return; } SOOrder order = KCOrderByOrderNbr.Select(row.OrderNbr); bool? isFromCA = order.GetExtension <KCSOOrderExt>().UsrKCSiteName?.EndsWith("FBA"); if (isFromCA.GetValueOrDefault() && order != null && e.ExternalCall == false) { Base.Caches["SOTaxTran"].SetStatus(row, PXEntryStatus.Notchanged); } else { baseHandler?.Invoke(sender, e); } }
protected virtual void ARSalesPrice_RowDeleting(PXCache sender, PXRowDeletingEventArgs e, PXRowDeleting basehandler) { //if (!(e.Row is ARSalesPrice row)) return; //row.SalesPrice = 0; //Base.Save.PressButton(); basehandler?.Invoke(sender, e); }