updates to CalendarInstance Repository

This commit is contained in:
Vishwas Babu A J
2014-12-05 22:30:24 -08:00
parent 9f78554972
commit c7f3f416ad
2 changed files with 7 additions and 8 deletions
@@ -47,6 +47,6 @@ public interface CalendarInstanceRepository extends JpaRepository<CalendarInstan
*/ */
@Query("SELECT COUNT(ci.id) FROM CalendarInstance ci, Loan ln WHERE ln.id = ci.entityId AND ci.entityTypeId = 3 AND ci.calendar.id = :calendarId AND ln.loanStatus IN :loanStatuses ") @Query("SELECT COUNT(ci.id) FROM CalendarInstance ci, Loan ln WHERE ln.id = ci.entityId AND ci.entityTypeId = 3 AND ci.calendar.id = :calendarId AND ln.loanStatus IN :loanStatuses ")
Integer countOfActiveLoansWithSyncedToCalendar(@Param("calendarId") Long calendarId, @Param("loanStatuses") Collection<Integer> loanStatuses ); Integer countOfLoansSyncedWithCalendar(@Param("calendarId") Long calendarId, @Param("loanStatuses") Collection<Integer> loanStatuses );
} }
@@ -156,7 +156,6 @@ public class CalendarWritePlatformServiceJpaRepositoryImpl implements CalendarWr
@Override @Override
public CommandProcessingResult updateCalendar(final JsonCommand command) { public CommandProcessingResult updateCalendar(final JsonCommand command) {
/* /*
* Validate all the data for updating the calendar * Validate all the data for updating the calendar
*/ */
@@ -168,13 +167,13 @@ public class CalendarWritePlatformServiceJpaRepositoryImpl implements CalendarWr
final Collection<Integer> loanStatuses = new ArrayList<>(Arrays.asList(LoanStatus.SUBMITTED_AND_PENDING_APPROVAL.getValue(), final Collection<Integer> loanStatuses = new ArrayList<>(Arrays.asList(LoanStatus.SUBMITTED_AND_PENDING_APPROVAL.getValue(),
LoanStatus.APPROVED.getValue(), LoanStatus.ACTIVE.getValue())); LoanStatus.APPROVED.getValue(), LoanStatus.ACTIVE.getValue()));
final Integer numberOfActiveLoansSyncedTheCalendar = this.calendarInstanceRepository.countOfActiveLoansWithSyncedToCalendar(calendarId, loanStatuses); final Integer numberOfActiveLoansSyncedWithThisCalendar = this.calendarInstanceRepository.countOfLoansSyncedWithCalendar(
calendarId, loanStatuses);
/* /*
* Validate all the business rules * Validate all the business rules
*/ */
this.fromApiJsonDeserializer.validateBusinessRulesForUpdate(command.json(), numberOfActiveLoansSyncedTheCalendar); this.fromApiJsonDeserializer.validateBusinessRulesForUpdate(command.json(), numberOfActiveLoansSyncedWithThisCalendar);
final Calendar calendarForUpdate = this.calendarRepository.findOne(calendarId); final Calendar calendarForUpdate = this.calendarRepository.findOne(calendarId);
if (calendarForUpdate == null) { throw new CalendarNotFoundException(calendarId); } if (calendarForUpdate == null) { throw new CalendarNotFoundException(calendarId); }