Beispiel #1
0
		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;
         }
     }
 }
Beispiel #4
0
        //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;
            }
        }
Beispiel #8
0
        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);
            }
        }
Beispiel #9
0
 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);
 }