@Override public void deleteProgramInstance( ProgramInstance programInstance ) { for ( ProgramStageInstance programStageInstance : programInstance.getProgramStageInstances() ) { programStageInstanceService.deleteProgramStageInstance( programStageInstance, false ); } }
@Override public ImportSummary deleteEvent( String uid ) { boolean existsEvent = programStageInstanceService.programStageInstanceExists( uid ); if ( existsEvent ) { ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( uid ); List<String> errors = trackerAccessManager.canWrite( currentUserService.getCurrentUser(), programStageInstance ); if ( !errors.isEmpty() ) { return new ImportSummary( ImportStatus.ERROR, errors.toString() ).incrementIgnored(); } programStageInstanceService.deleteProgramStageInstance( programStageInstance ); if ( programStageInstance.getProgramStage().getProgram().isRegistration() ) { entityInstanceService.updateTrackedEntityInstance( programStageInstance.getProgramInstance().getEntityInstance() ); } return new ImportSummary( ImportStatus.SUCCESS, "Deletion of event " + uid + " was successful" ).incrementDeleted(); } else { return new ImportSummary( ImportStatus.SUCCESS, "Event " + uid + " cannot be deleted as it is not present in the system" ).incrementIgnored(); } }