@Override public BusinessInvoiceModelDao map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException { final UUID invoiceId = UUID.fromString(r.getString(1)); final Integer invoiceNumber = r.getInt(2); final DateTime createdDate = new DateTime(r.getLong(3), DateTimeZone.UTC); final DateTime updatedDate = new DateTime(r.getLong(4), DateTimeZone.UTC); final UUID accountId = UUID.fromString(r.getString(5)); final String accountKey = r.getString(6); final LocalDate invoiceDate = getDate(r, "invoice_date"); final LocalDate targetDate = getDate(r, "target_date"); final Currency currency = Currency.valueOf(r.getString(9)); final BigDecimal balance = BigDecimal.valueOf(r.getDouble(10)); final BigDecimal amountPaid = BigDecimal.valueOf(r.getDouble(11)); final BigDecimal amountCharged = BigDecimal.valueOf(r.getDouble(12)); final BigDecimal amountCredited = BigDecimal.valueOf(r.getDouble(13)); return new BusinessInvoiceModelDao(accountId, accountKey, amountCharged, amountCredited, amountPaid, balance, createdDate, currency, invoiceDate, invoiceId, invoiceNumber, targetDate, updatedDate); } }
public void rebuildInvoiceInTransaction(final String accountKey, final Invoice invoice, final BusinessInvoiceSqlDao transactional, final InternalCallContext context) { // Delete the invoice transactional.deleteInvoice(invoice.getId().toString(), context); // Re-create it - this will update the various amounts transactional.createInvoice(new BusinessInvoiceModelDao(accountKey, invoice), context); }
final BusinessInvoiceModelDao businessInvoice = new BusinessInvoiceModelDao(account.getExternalKey(), invoice);
private BusinessInvoiceModelDao createInvoice(final UUID invoiceId, final UUID accountId, final String accountKey) { final BigDecimal amountCharged = BigDecimal.ZERO; final BigDecimal amountCredited = BigDecimal.ONE; final BigDecimal amountPaid = BigDecimal.TEN; final BigDecimal balance = BigDecimal.valueOf(123L); final DateTime createdDate = clock.getUTCNow(); final Currency currency = Currency.MXN; final LocalDate invoiceDate = clock.getUTCToday(); final LocalDate targetDate = clock.getUTCToday(); final DateTime updatedDate = clock.getUTCNow(); return new BusinessInvoiceModelDao(accountId, accountKey, amountCharged, amountCredited, amountPaid, balance, createdDate, currency, invoiceDate, invoiceId, 12, targetDate, updatedDate); } }
final LocalDate targetDate = clock.getUTCToday(); final DateTime updatedDate = clock.getUTCNow(); final BusinessInvoiceModelDao invoice = new BusinessInvoiceModelDao(accountId, accountKey, amountCharged, amountCredited, amountPaid, balance, createdDate, currency, invoiceDate, invoiceId, invoiceNumber, targetDate, updatedDate); Assert.assertSame(invoice, invoice); Assert.assertEquals(invoice.getUpdatedDate(), updatedDate); final BusinessInvoiceModelDao otherInvoice = new BusinessInvoiceModelDao(null, null, null, null, null, null, createdDate, null, null, invoiceId, 0, null, null); Assert.assertFalse(invoice.equals(otherInvoice));