예제 #1
0
 public LienWaiverWarningDialogService(APInvoiceEntry graph, ApInvoiceEntryPayBillExtension extension)
 {
     this.graph             = graph;
     lienWaiverDataProvider = new LienWaiverDataProvider(graph);
     jointPayeePayments     = extension.JointPayeePayments;
     lienWaiverSetup        = extension.LienWaiverSetup.Current;
 }
        private void CreateLienWaiver(LienWaiverGenerationKey generationKey, APPayment payment,
                                      string lienWaiverDocumentTypeValue)
        {
            var complianceAttribute = LienWaiverDataProvider.GetComplianceAttribute(lienWaiverDocumentTypeValue);

            LienWaiverCreator.CreateLienWaiver(generationKey, payment, complianceAttribute);
        }
예제 #3
0
        private void SetLienNoticeAmount()
        {
            var lienWaivers       = LienWaiverDataProvider.GetNotVoidedLienWaivers(generationKey);
            var lienNoticeAmounts = lienWaivers.Select(lw => lw.LienNoticeAmount).Where(lna => lna != null).Distinct();

            lienWaiver.LienNoticeAmount = lienNoticeAmounts.SingleOrNull();
        }
        private bool AreThereAnyOutstandingLienWaivers(int?vendorId)
        {
            var projectIds = Transactions.Select(tran => LienWaiverProjectDataProvider.GetProjectId(Graph, tran))
                             .Distinct();

            return(LienWaiverDataProvider.DoesAnyOutstandingComplianceExistForPrimaryVendor(vendorId, projectIds));
        }
        private bool AreThereAnyOutstandingLienWaivers(JointPayee jointPayee)
        {
            var projectIds = LienWaiverProjectDataProvider.GetProjectIds(Graph, jointPayee);

            return(LienWaiverDataProvider.DoesAnyOutstandingComplianceExistForJointVendor(
                       jointPayee.JointPayeeInternalId, projectIds));
        }
 public virtual void _(Events.RowPersisted <APPayment> args)
 {
     if (args.TranStatus == PXTranStatus.Open &&
         args.Row is APPayment payment &&
         IsPaymentTypeCheckOrPrepayment(payment.DocType) &&
         IsPaymentStatusPendingPrintingOrBalanced(payment.Status) &&
         HasPaymentStatusChangedSinceLastSave(args.Cache, payment))
     {
         context.LienWaiversForPayment = LienWaiverDataProvider.GetLienWaivers(payment.NoteID);
         if (!context.PaymentHasGeneratedLienWaivers && ShouldLienWaiverBeGeneratedOnPayingBill())
         {
             GenerateLienWaiver(payment);
         }
     }
 }
 public LienWaiverWarningMessageService(PXGraph graph, IProjectDataProvider projectDataProvider)
 {
     lienWaiverDataProvider   = new LienWaiverDataProvider(graph);
     this.projectDataProvider = projectDataProvider;
     this.graph = graph;
 }
 public LienWaiverHoldPaymentService(PXGraph graph)
 {
     lienWaiverDataProvider = new LienWaiverDataProvider(graph);
     this.graph             = graph;
 }
예제 #9
0
 public LienWaiverValidationService(PXGraph graph, IProjectDataProvider projectDataProvider)
 {
     lienWaiverWarningMessageService = new LienWaiverWarningMessageService(graph, projectDataProvider);
     lienWaiverDataProvider          = new LienWaiverDataProvider(graph);
 }
예제 #10
0
 public LienWaiverProcessingValidationService(PXGraph graph)
 {
     lienWaiverDataProvider = new LienWaiverDataProvider(graph);
     this.graph             = graph;
 }
 public LienWaiverTypeDeterminator(PXGraph graph)
 {
     lienWaiverDataProvider         = new LienWaiverDataProvider(graph);
     lienWaiverTransactionRetriever = new LienWaiverTransactionRetriever(graph);
     this.graph = (APPaymentEntry)graph;
 }
예제 #12
0
 public override void Initialize()
 {
     lienWaiverDataProvider = new LienWaiverDataProvider(Base);
 }