Example #1
0
        private void CreateRelatedJointPayment(JointCheckGenerationModel jointCheckGenerationModel)
        {
            var jointPayeePayments = jointCheckGenerationModel.InvoiceJointPayeePayments.Select(jpp =>
                                                                                                CreateJointPayeePayment(jpp.JointPayeeId, jointCheckGenerationModel.CreatedPayment,
                                                                                                                        jpp.JointAmountToPay));

            JointPayeePayments.Cache.InsertAll(jointPayeePayments);
        }
Example #2
0
        private IEnumerable <JointCheckGenerationModel> CreateCheckGenerationModels()
        {
            var jointPayeePayments = InvoiceJointPayeePayments.Where(jpp => jpp.JointAmountToPay > 0).ToList();
            var jointPayeeGroups   = GetJointPayeeGroups(jointPayeePayments);

            return(jointPayeeGroups.Select(jp => JointCheckGenerationModel.Create(jointPayeePayments, jp))
                   .OrderBy(gm => gm.InvoiceJointPayeePayments.Min(jpp => jpp.JointPayeeId)));
        }
Example #3
0
 private void SetAdjustmentsAmountForJointCheck(JointCheckGenerationModel jointCheckGenerationModel)
 {
     foreach (var adjustment in PaymentEntry.Adjustments.SelectMain())
     {
         var jointPayeesAmountToPaySumForLine = jointCheckGenerationModel.InvoiceJointPayeePayments
                                                .Where(jpp => jpp.BillLineNumber == adjustment.AdjdLineNbr).Sum(jpp => jpp.JointAmountToPay);
         adjustment.CuryAdjgAmt = jointPayeesAmountToPaySumForLine;
         PaymentEntry.Adjustments.Update(adjustment);
     }
 }
Example #4
0
 private APPayment CreateJointCheck(JointCheckGenerationModel jointCheckGenerationModel)
 {
     GeneratePayment(InvoiceEntry.Document.Current);
     InsertAdjustments(jointCheckGenerationModel.BillLineNumbers);
     ResetCashDiscount();
     SetAdjustmentsAmountForJointCheck(jointCheckGenerationModel);
     SetPaymentAmount(jointCheckGenerationModel.JointAmountToPay);
     SavePayment();
     return(PaymentEntry.Document.Current);
 }
Example #5
0
        private void CreateZeroAmountJointPayeePaymentsForJointCheck(
            JointCheckGenerationModel jointCheckGenerationModel)
        {
            var invoiceJointPayeePayments = jointCheckGenerationModel.InvoiceJointPayeePayments.ToList();
            var jointPayeeIds             = InvoiceJointPayeePayments
                                            .Where(jpp => !invoiceJointPayeePayments.Contains(jpp) &&
                                                   jointCheckGenerationModel.BillLineNumbers.Contains(jpp.BillLineNumber))
                                            .Select(jpp => jpp.JointPayeeId);

            CreateZeroAmountJointPayeePayments(jointCheckGenerationModel.CreatedPayment, jointPayeeIds);
        }
Example #6
0
        private void UpdateComplianceDocumentForJointCheck(JointCheckGenerationModel jointCheckGenerationModel)
        {
            var jointPayeeId = jointCheckGenerationModel.InvoiceJointPayeePayments.First().JointPayeeId;
            var jointPayee   = GetJointPayee(jointPayeeId);

            foreach (var complianceDocument in ComplianceDocuments)
            {
                ComplianceDocumentsService.UpdateComplianceForJointCheck(
                    jointPayee, complianceDocument, jointCheckGenerationModel.CreatedPayment);
            }
        }
Example #7
0
 private APPayment AddJointPayeePaymentsToCheck(JointCheckGenerationModel jointCheckGenerationModel)
 {
     CreateRelatedJointPayment(jointCheckGenerationModel);
     CreateZeroAmountJointPayeePaymentsForJointCheck(jointCheckGenerationModel);
     return(jointCheckGenerationModel.CreatedPayment);
 }