private void CheckPaymentForOutstandingLienWaivers(APRegister document) { var adjustments = AdjustmentDataProvider.GetPaymentAdjustments(graph, document.RefNbr, document.DocType).ToList(); var projectIds = LienWaiverProjectDataProvider.GetProjectIds(graph, adjustments).ToList(); CheckPrimaryVendorForOutstandingLienWaivers(document, projectIds); adjustments.ForEach(adjust => CheckJointVendorsForOutstandingLienWaivers(adjust, projectIds)); }
protected override decimal?GetTotalVendorPaymentAmount(APAdjust adjustment, string referenceNumber, int?origLineNbr) { return(AdjustmentDataProvider .GetAdjustmentsForInvoiceGroup(Graph, referenceNumber, origLineNbr) .Where(adj => adj.AdjdRefNbr == adjustment.AdjdRefNbr && adj.AdjdLineNbr == adjustment.AdjdLineNbr) .Sum(adj => GetVendorPaymentAmount(adj).GetValueOrDefault())); }
public virtual decimal?GetNonReleasedCashDiscountTakenExceptCurrentAdjustment(APAdjust apAdjust) { var adjustments = AdjustmentDataProvider.GetInvoiceAdjustments(Graph, apAdjust.AdjdRefNbr); var releasedCashDiscountTaken = InvoiceDataProvider .GetInvoice(Graph, apAdjust.AdjdDocType, apAdjust.AdjdRefNbr).CuryDiscTaken; var totalCashDiscountTaken = adjustments.Sum(adjustment => adjustment.CuryAdjgPPDAmt); return(totalCashDiscountTaken - releasedCashDiscountTaken - apAdjust.CuryAdjgPPDAmt); }
private IEnumerable <LienWaiverGenerationKey> CreateLienWaiverGroupingKeys( IReadOnlyCollection <JointPayee> jointPayees, APRegister payment, APTran transaction) { var adjustments = AdjustmentDataProvider.GetInvoiceAdjustments(Graph, transaction.RefNbr); return(adjustments.Any() ? CreateGroupingKeys(jointPayees, payment, transaction) : CreateGroupingKeysForPaymentByLines(jointPayees, payment, transaction)); }
public override decimal?GetNonReleasedCashDiscountTakenExceptCurrentAdjustment(APAdjust apAdjust) { var nonReleasedCashDiscountTaken = AdjustmentDataProvider .GetAdjustmentsForInvoiceGroup(Graph, apAdjust.AdjdRefNbr, apAdjust.AdjdLineNbr) .Where(adjust => !adjust.Released.GetValueOrDefault()) .Sum(adjust => adjust.CuryAdjgPPDAmt); return(nonReleasedCashDiscountTaken - apAdjust.CuryAdjgPPDAmt); }
protected virtual decimal GetAllowableCashDiscountConsiderBillBalance(APAdjust apAdjust) { var invoiceAdjustments = AdjustmentDataProvider.GetInvoiceAdjustments(Graph, apAdjust.AdjdRefNbr); var unappliedBalance = invoiceAdjustments .Sum(adjustment => adjustment.CuryAdjgAmt + adjustment.CuryAdjgPPDAmt); var billBalance = InvoiceDataProvider.GetInvoice(Graph, apAdjust.AdjdDocType, apAdjust.AdjdRefNbr) .CuryOrigDocAmt; var cashDiscount = billBalance - unappliedBalance + apAdjust.CuryAdjgPPDAmt; return(Math.Max(cashDiscount.GetValueOrDefault(), 0)); }
private void UpdateJointAmountToPayAvailability(JointPayeePayment jointPayeePayment) { var jointPayee = JointPayeeDataProvider.GetJointPayee(Base, jointPayeePayment); var adjustment = AdjustmentDataProvider.GetAdjustment(Base, jointPayeePayment); var hasReversedAdjustments = DoesCheckContainReversedAdjustments(jointPayeePayment); var isZeroJointBalance = jointPayee.JointBalance == 0 && !hasReversedAdjustments; var isReleased = adjustment?.Released == true; var isVoidAdjustment = !IsVoidCheck() && adjustment?.Voided == true; var isReadOnly = isZeroJointBalance || isReleased || isVoidAdjustment; PXUIFieldAttribute.SetReadOnly <JointPayeePayment.jointAmountToPay>( JointPayeePayments.Cache, jointPayeePayment, isReadOnly); }
private void ReverseJointPayeePayments(APAdjust originalAdjustment) { var reversedAdjustment = AdjustmentDataProvider.GetReversedAdjustment(Base, originalAdjustment); if (reversedAdjustment == null) { return; } var jointPayeePayments = JointPayeePaymentDataProvider.GetJointPayeePayments(Base, reversedAdjustment); if (jointPayeePayments.IsEmpty()) { AddRevertingJointPayeePayments(originalAdjustment, reversedAdjustment); } }
private void ValidateAmountPaidExceedsBillBalance(APAdjust adjustment, decimal?amountPaid, bool doNeedShowErrorOnPersist) { var invoiceAdjustments = AdjustmentDataProvider.GetInvoiceAdjustments(Graph, adjustment.AdjdRefNbr); var unappliedBalance = invoiceAdjustments .Sum(adjust => adjust.CuryAdjgAmt + adjust.CuryAdjgPPDAmt); var billBalance = InvoiceDataProvider.GetInvoice(Graph, adjustment.AdjdDocType, adjustment.AdjdRefNbr) .CuryOrigDocAmt.GetValueOrDefault(); var allowableAmountPaid = billBalance - unappliedBalance + amountPaid; if (amountPaid > allowableAmountPaid) { ShowErrorMessage <APAdjust.curyAdjgAmt>(adjustment, amountPaid, adjustment.AdjdLineNbr != 0 ? JointCheckMessages.AmountPaidExceedsBillLineBalance : JointCheckMessages.AmountPaidExceedsBillBalance, allowableAmountPaid); ShowErrorOnPersistIfRequired(Graph.Adjustments.Cache, doNeedShowErrorOnPersist); } }
protected virtual decimal?GetTotalVendorPaymentAmount(APAdjust adjustment, string origRefNbr, int?origLineNbr) { return(AdjustmentDataProvider .GetAdjustmentsForInvoiceGroup(Graph, origRefNbr, origLineNbr) .Sum(adj => GetVendorPaymentAmount(adj).GetValueOrDefault())); }