Esempio n. 1
0
 private static void AddContractsToInvoice(Invoice invoice, CustomerAccountInvoiceItem invoiceItem,
                                           CustomerAccount activeContract)
 {
     if (activeContract.WasActiveOn(invoice.BillCycle.Date))
     {
         var contractsForBilling = activeContract.GetListOfContractsToBill(invoice.BillCycle).ToList();
         //TODO Review. invoiceItem.AttachedContractItems.AddRange(
         //contractsForBilling.Select(c => c.PopulateInvoiceAttachedContractItems()).ToList());
         contractsForBilling.ForEach(c => c.LastBilled = invoice.BillCycle);
     }
 }
Esempio n. 2
0
 private void AddTransactionEntryForInvoice(Invoice invoice, CustomerAccountInvoiceItem invoiceItem)
 {
     _transactionsService.Add(new Transaction
     {
         Amount            = invoiceItem.Amount,
         CustomerAccountId = invoiceItem.CustomerAccountId,
         TransactionTypeId = (int)TransactionTypes.Invoice,
         DateTime          = invoice.InvoiceDate,
         BillCycle         = invoice.BillCycle,
         Description       = string.Format("Bill cycle : {0} invoice", invoice.BillCycle.ToString())
     });
 }
Esempio n. 3
0
 private void AddPostedEntriesToContracts(Invoice invoice, CustomerAccountInvoiceItem invoiceItem,
                                          CustomerAccount activeContract)
 {
     throw new NotImplementedException();
     //var posted = _postedRepository.GetMany(p => p.Invoice == null && p.Contract.CustomerAccountId == activeContract.CustomerAccountId);
     //foreach (var adjustmentPost in posted)
     //{
     //    if (adjustmentPost.Contract.IsBillableThisCycle(invoice.BillCycle) || (adjustmentPost.Contract.IsContractExpiredOnDate(invoice.BillCycle.Date)))
     //    {
     //        invoiceItem.AttachedContractItems.Add(new InvoiceAttachedContractItems
     //        {
     //            Description = adjustmentPost.InvoiceString,
     //            Amount = adjustmentPost.GetInvoicedAmount(invoice.BillCycle)
     //        });
     //        adjustmentPost.Invoice = invoice;
     //        _postedRepository.Update(adjustmentPost);
     //    }
     //}
 }
Esempio n. 4
0
 private static bool AreThereContractItemsInInvoiceItem(CustomerAccountInvoiceItem invoiceItem)
 {
     return(invoiceItem.AttachedContractItems.Count > 0);
 }