@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } });
@Override public String toString() { return "DefaultInvoice [items=" + invoiceItems + ", payments=" + payments + ", id=" + id + ", accountId=" + accountId + ", invoiceDate=" + invoiceDate + ", targetDate=" + targetDate + ", currency=" + currency + ", amountPaid=" + getPaidAmount() + "]"; } }
@Override public InvoicePayment apply(final InvoicePaymentModelDao input) { return new DefaultInvoicePayment(input); } }));
protected BigDecimal calculateNumberOfBillingCycles(final LocalDate startDate, final LocalDate endDate, final LocalDate targetDate, final int billingCycleDay) throws InvalidDateSequenceException { final List<RecurringInvoiceItemData> items = getBillingMode().calculateInvoiceItemData(startDate, endDate, targetDate, billingCycleDay, getBillingPeriod()); BigDecimal numberOfBillingCycles = ZERO; for (final RecurringInvoiceItemData item : items) { numberOfBillingCycles = numberOfBillingCycles.add(item.getNumberOfCycles()); } return numberOfBillingCycles.setScale(NUMBER_OF_DECIMALS, ROUNDING_METHOD); }
@Override public InvoiceItem apply(final InvoiceItemModelDao input) { return InvoiceItemFactory.fromModelDao(input); } }));
@Override protected BillingMode getBillingMode() { return new InAdvanceBillingMode(); } }
@Override public Invoice apply(final InvoiceModelDao invoiceModelDao) { return new DefaultInvoice(invoiceModelDao); } }
@Override public InvoicePayment apply(final InvoicePaymentModelDao input) { return new DefaultInvoicePayment(input); } });
@Override public InvoiceItem apply(final InvoiceItemModelDao input) { return InvoiceItemFactory.fromModelDao(input); } }));
@Override protected BillingMode getBillingMode() { return new InAdvanceBillingMode(); }
@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } }));
@Override public InvoicePayment apply(final InvoicePaymentModelDao input) { return new DefaultInvoicePayment(input); } }));
@Override public InvoiceItem apply(final InvoiceItemModelDao input) { return InvoiceItemFactory.fromModelDao(input); } }),
@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } }));
@Override public InvoicePayment apply(final InvoicePaymentModelDao input) { return new DefaultInvoicePayment(input); } }));
@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } })); //no need to fetch, invoicing is off on this account
@Override public InvoicePayment apply(final InvoicePaymentModelDao input) { return new DefaultInvoicePayment(input); } }));
@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } }));
@Override public Invoice apply(final InvoiceModelDao invoiceModelDao) { return new DefaultInvoice(invoiceModelDao); } }
@Override public Invoice apply(final InvoiceModelDao input) { return new DefaultInvoice(input); } }));