public List<Facility> getAllForDeliveryZoneAndProgram(Long deliveryZoneId, Long programId) { List<Facility> facilities = facilityRepository.getAllInDeliveryZoneFor(deliveryZoneId, programId); for (Facility facility : facilities) { facility .getSupportedPrograms() .add( programSupportedService.getFilledByFacilityIdAndProgramId( facility.getId(), programId)); } return facilities; }
public void save(Facility newFacility) { newFacility.validate(); Facility storedFacility = facilityRepository.getById(newFacility.getId()); facilityRepository.save(newFacility); if (!newFacility.equals(storedFacility)) { notify(asList(newFacility)); if (canUpdateVirtualFacilities(newFacility, storedFacility)) { updateAndNotifyForVirtualFacilities(newFacility); } } }