private void CreateRelatedJointPayment(JointCheckGenerationModel jointCheckGenerationModel) { var jointPayeePayments = jointCheckGenerationModel.InvoiceJointPayeePayments.Select(jpp => CreateJointPayeePayment(jpp.JointPayeeId, jointCheckGenerationModel.CreatedPayment, jpp.JointAmountToPay)); JointPayeePayments.Cache.InsertAll(jointPayeePayments); }
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))); }
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); } }
private APPayment CreateJointCheck(JointCheckGenerationModel jointCheckGenerationModel) { GeneratePayment(InvoiceEntry.Document.Current); InsertAdjustments(jointCheckGenerationModel.BillLineNumbers); ResetCashDiscount(); SetAdjustmentsAmountForJointCheck(jointCheckGenerationModel); SetPaymentAmount(jointCheckGenerationModel.JointAmountToPay); SavePayment(); return(PaymentEntry.Document.Current); }
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); }
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); } }
private APPayment AddJointPayeePaymentsToCheck(JointCheckGenerationModel jointCheckGenerationModel) { CreateRelatedJointPayment(jointCheckGenerationModel); CreateZeroAmountJointPayeePaymentsForJointCheck(jointCheckGenerationModel); return(jointCheckGenerationModel.CreatedPayment); }