use of de.symeda.sormas.app.backend.clinicalcourse.ClinicalVisitCriteria in project SORMAS-Project by hzi-braunschweig.
the class CaseDao method deleteCaseAndAllDependingEntities.
public void deleteCaseAndAllDependingEntities(String caseUuid) throws SQLException {
Case caze = queryUuidWithEmbedded(caseUuid);
// Cancel if not in local database
if (caze == null) {
return;
}
// Delete contacts, contact tasks and visits
List<Contact> contacts = DatabaseHelper.getContactDao().getByCase(caze);
for (Contact contact : contacts) {
DatabaseHelper.getContactDao().deleteContactAndAllDependingEntities(contact);
}
// Delete samples, pathogen tests and additional tests
List<Sample> samples = DatabaseHelper.getSampleDao().queryByCase(caze);
for (Sample sample : samples) {
DatabaseHelper.getSampleDao().deleteSampleAndAllDependingEntities(sample);
}
// Delete case tasks
List<Task> tasks = DatabaseHelper.getTaskDao().queryByCase(caze);
for (Task task : tasks) {
DatabaseHelper.getTaskDao().deleteCascade(task);
}
// Delete treatments and prescriptions
if (caze.getTherapy() != null) {
for (Treatment treatment : DatabaseHelper.getTreatmentDao().findBy(new TreatmentCriteria().therapy(caze.getTherapy()))) {
DatabaseHelper.getTreatmentDao().delete(treatment);
}
for (Prescription prescription : DatabaseHelper.getPrescriptionDao().findBy(new PrescriptionCriteria().therapy(caze.getTherapy()))) {
DatabaseHelper.getPrescriptionDao().delete(prescription);
}
}
// Delete clinical visits
if (caze.getClinicalCourse() != null) {
for (ClinicalVisit clinicalVisit : DatabaseHelper.getClinicalVisitDao().findBy(new ClinicalVisitCriteria().clinicalCourse(caze.getClinicalCourse()))) {
DatabaseHelper.getClinicalVisitDao().delete(clinicalVisit);
}
}
// Remove events linked to case by removing case_id from event participants - delete event participant and
List<EventParticipant> eventParticipants = DatabaseHelper.getEventParticipantDao().getByCase(caze);
for (EventParticipant eventParticipant : eventParticipants) {
DatabaseHelper.getEventParticipantDao().deleteEventParticipant(eventParticipant);
}
// Remove events outside jurisdiction which were pulled in due to linking with an accessible case
EventCriteria eventCriteria = new EventCriteria();
eventCriteria.caze(caze);
List<Event> eventList = DatabaseHelper.getEventDao().queryByCriteria(eventCriteria, 0, 0);
for (Event event : eventList) {
List<EventParticipant> eventParticipantByEventList = DatabaseHelper.getEventParticipantDao().getByEvent(event);
if (eventParticipantByEventList.isEmpty()) {
Boolean isEventInJurisdiction = EventEditAuthorization.isEventEditAllowed(event);
if (!isEventInJurisdiction) {
DatabaseHelper.getEventDao().delete(event);
}
}
}
// Delete case
deleteCascade(caze);
}
use of de.symeda.sormas.app.backend.clinicalcourse.ClinicalVisitCriteria in project SORMAS-Project by hzi-braunschweig.
the class ClinicalVisitListViewModel method initializeViewModel.
public void initializeViewModel(ClinicalCourse clinicalCourse) {
clinicalVisitDataFactory = new ClinicalVisitDataFactory();
ClinicalVisitCriteria clinicalVisitCriteria = new ClinicalVisitCriteria();
clinicalVisitCriteria.clinicalCourse(clinicalCourse);
clinicalVisitDataFactory.setClinicalVisitCriteria(clinicalVisitCriteria);
PagedList.Config config = new PagedList.Config.Builder().setEnablePlaceholders(true).setInitialLoadSizeHint(16).setPageSize(8).build();
LivePagedListBuilder clinicalVisitListBuilder = new LivePagedListBuilder(clinicalVisitDataFactory, config);
clinicalVisits = clinicalVisitListBuilder.build();
}
Aggregations