Example #1
0
 public Calendar getRepaymentDate() {
   if (payments == null || payments.isEmpty()) {
     return null;
   }
   final LoanPayment payment = payments.get(payments.size() - 1);
   return payment.getStatus().isClosed() ? payment.getRepaymentDate() : null;
 }
Example #2
0
 public Calendar getExpirationDate() {
   LoanPayment payment = getFirstOpenPayment();
   if (payment == null) {
     payment = payments == null || payments.isEmpty() ? null : payments.get(payments.size() - 1);
   }
   return payment == null ? null : payment.getExpirationDate();
 }
Example #3
0
 public int getClosedPaymentsCount() {
   int count = 0;
   for (final LoanPayment payment : payments) {
     if (payment.getStatus().isClosed()) {
       count++;
     }
   }
   return count;
 }
Example #4
0
 public LoanPayment getFirstPaymentWithStatus(final LoanPayment.Status status) {
   if (payments != null) {
     for (final LoanPayment payment : payments) {
       if (status == payment.getStatus()) {
         return payment;
       }
     }
   }
   return null;
 }
Example #5
0
 public LoanPayment getFirstOpenPayment() {
   if (payments != null) {
     for (final LoanPayment payment : payments) {
       if (payment.getStatus().isOpen()) {
         return payment;
       }
     }
   }
   return null;
 }
Example #6
0
 public Status getStatus() {
   if (transfer.getStatus() == Payment.Status.PENDING) {
     return Status.PENDING_AUTHORIZATION;
   }
   if (transfer.getStatus() == Payment.Status.DENIED) {
     return Status.AUTHORIZATION_DENIED;
   }
   for (final LoanPayment payment : getPayments()) {
     if (payment.getStatus().isOpen()) {
       return Status.OPEN;
     }
   }
   return Status.CLOSED;
 }
Example #7
0
 public BigDecimal getRepaidAmount() {
   BigDecimal total = BigDecimal.ZERO;
   if (payments != null) {
     for (final LoanPayment payment : payments) {
       final LoanPayment.Status status = payment.getStatus();
       if (status.isClosed() && status != LoanPayment.Status.UNRECOVERABLE) {
         total = total.add(payment.getAmount());
       } else {
         total = total.add(payment.getRepaidAmount());
       }
     }
   }
   return total;
 }