private void UpdateComplianceDocumentData(APAdjust adjustment, ComplianceDocument complianceDocument)
        {
            var payment = graph.Document.Current;

            ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.apCheckId>(
                graph.Caches <ComplianceDocument>(), complianceDocument, payment.DocType, payment.RefNbr, payment.NoteID);

            UpdateComplianceDocumentAmountsIfRequired(adjustment, complianceDocument);
        }
 private void UpdateComplianceDocument(ComplianceDocument complianceDocument, APRegister check,
                                       bool isVendorCheck)
 {
     if (complianceDocument.DocumentType == GetLienWaiverDocumentTypeId())
     {
         UpdateComplianceDocumentForLienWaiverType(complianceDocument, check, isVendorCheck);
     }
     ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.apCheckId>(
         graph.Caches <ComplianceDocument>(), complianceDocument, check.DocType, check.RefNbr, check.NoteID);
 }
        private void SetBillId(IEnumerable <APTran> transactions)
        {
            var invoices = InvoiceDataProvider.GetInvoices(Graph, transactions);
            var invoice  = invoices.SingleOrNull();

            if (invoice != null)
            {
                ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.billID>(
                    Cache, lienWaiver, invoice.DocType, invoice.RefNbr, invoice.NoteID);
            }
        }
        private void FillInvoiceInfo(ComplianceDocument complianceDocument, APInvoice invoice, APTran transaction)
        {
            complianceDocument.VendorID   = invoice.VendorID;
            complianceDocument.VendorName = GetVendorName(complianceDocument.VendorID);
            ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.billID>(
                ComplianceDocuments.Cache, complianceDocument, invoice.DocType, invoice.RefNbr, invoice.NoteID);

            complianceDocument.BillAmount = invoice.OrigDocAmt;
            complianceDocument.AccountID  = GetAccountId();
            complianceDocument.ProjectID  = transaction?.ProjectID;
            complianceDocument.CostTaskID = transaction?.TaskID;
            complianceDocument.CostCodeID = transaction?.CostCodeID;
        }
        private void SetPurchaseOrder()
        {
            var purchaseOrder =
                CommitmentDataProvider.GetCommitment(Graph, generationKey.OrderNumber, POOrderType.RegularOrder);

            if (purchaseOrder == null)
            {
                return;
            }
            ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.purchaseOrder>(
                Cache, lienWaiver, purchaseOrder.OrderType, purchaseOrder.OrderNbr, purchaseOrder.NoteID);
            Cache.Update(lienWaiver);
        }
        private void SetTransactionDependentFields(APPayment payment, ComplianceAttribute complianceAttribute)
        {
            var transactions = LienWaiverTransactionRetriever.GetTransactions(generationKey).ToList();

            SetBillId(transactions);
            lienWaiver.LienWaiverAmount = GetLienWaiverAmount(transactions, complianceAttribute.Value);
            SetLienNoticeAmount();
            SetAccountId(transactions);
            ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.apCheckId>(
                Cache, lienWaiver, payment.DocType, payment.RefNbr, payment.NoteID);
            lienWaiver.PaymentDate = payment.AdjDate;
            lienWaiver.ThroughDate = GetThroughDate(complianceAttribute.Value, payment, transactions);
            lienWaiver.SourceType  = ComplianceDocumentSourceTypeAttribute.ApBill;
        }
        protected virtual void _(Events.RowInserting <ComplianceDocument> args)
        {
            var currentApPayment = Base.Document.Current;

            if (currentApPayment != null)
            {
                var complianceDocument = args.Row;
                if (complianceDocument != null)
                {
                    complianceDocument.VendorID   = currentApPayment.VendorID;
                    complianceDocument.VendorName = GetVendorName(complianceDocument.VendorID);
                    ComplianceDocumentRefNoteAttribute.SetComplianceDocumentReference <ComplianceDocument.apCheckId>(
                        args.Cache, args.Row, currentApPayment.DocType, currentApPayment.RefNbr, currentApPayment.NoteID);
                    complianceDocument.CheckNumber       = currentApPayment.ExtRefNbr;
                    complianceDocument.ApPaymentMethodID = currentApPayment.PaymentMethodID;
                }
            }
        }