Search in sources :

Example 1 with Event

use of de.symeda.sormas.app.backend.event.Event in project SORMAS-Project by hzi-braunschweig.

the class CaseReadEventListFragment method onListItemClick.

@Override
public void onListItemClick(View v, int position, Object item) {
    Event event = (Event) item;
    EventReadActivity.startActivity(getActivity(), event.getUuid());
}
Also used : Event(de.symeda.sormas.app.backend.event.Event)

Example 2 with Event

use of de.symeda.sormas.app.backend.event.Event in project SORMAS-Project by hzi-braunschweig.

the class EventEditActivity method saveData.

@Override
public void saveData() {
    if (saveTask != null) {
        NotificationHelper.showNotification(this, WARNING, getString(R.string.message_already_saving));
        // don't save multiple times
        return;
    }
    final Event eventToSave = (Event) getActiveFragment().getPrimaryData();
    EventEditFragment fragment = (EventEditFragment) getActiveFragment();
    try {
        FragmentValidator.validate(getContext(), fragment.getContentBinding());
    } catch (ValidationException e) {
        NotificationHelper.showNotification(this, ERROR, e.getMessage());
        return;
    }
    if (eventToSave.getTypeOfPlace() == TypeOfPlace.OTHER) {
        eventToSave.getEventLocation().setFacility(null);
        eventToSave.getEventLocation().setFacilityDetails(null);
        eventToSave.getEventLocation().setFacilityType(null);
    }
    saveTask = new SavingAsyncTask(getRootView(), eventToSave) {

        @Override
        protected void onPreExecute() {
            showPreloader();
        }

        @Override
        public void doInBackground(TaskResultHolder resultHolder) throws DaoException {
            DatabaseHelper.getEventDao().saveAndSnapshot(eventToSave);
        }

        @Override
        protected void onPostExecute(AsyncTaskResult<TaskResultHolder> taskResult) {
            hidePreloader();
            super.onPostExecute(taskResult);
            if (taskResult.getResultStatus().isSuccess()) {
                goToNextPage();
            } else {
                // reload data
                onResume();
            }
            saveTask = null;
        }
    }.executeOnThreadPool();
}
Also used : ValidationException(de.symeda.sormas.api.utils.ValidationException) TaskResultHolder(de.symeda.sormas.app.core.async.TaskResultHolder) Event(de.symeda.sormas.app.backend.event.Event) AsyncTaskResult(de.symeda.sormas.app.core.async.AsyncTaskResult) SavingAsyncTask(de.symeda.sormas.app.core.async.SavingAsyncTask)

Example 3 with Event

use of de.symeda.sormas.app.backend.event.Event in project SORMAS-Project by hzi-braunschweig.

the class EventNewActivity method saveData.

@Override
public void saveData() {
    if (saveTask != null) {
        NotificationHelper.showNotification(this, WARNING, getString(R.string.message_already_saving));
        // don't save multiple times
        return;
    }
    final Event eventToSave = (Event) getActiveFragment().getPrimaryData();
    EventEditFragment fragment = (EventEditFragment) getActiveFragment();
    if (caseUuid != null) {
        Case linkedCase = DatabaseHelper.getCaseDao().getByReferenceDto(new CaseReferenceDto(caseUuid));
        if (eventToSave.getDisease() != null && !eventToSave.getDisease().equals(linkedCase.getDisease())) {
            NotificationHelper.showNotification(this, WARNING, getString(R.string.message_Event_and_Case_disease_mismatch) + " " + linkedCase.getDisease());
            return;
        }
    }
    fragment.setLiveValidationDisabled(false);
    try {
        FragmentValidator.validate(getContext(), fragment.getContentBinding());
    } catch (ValidationException e) {
        NotificationHelper.showNotification(this, ERROR, e.getMessage());
        return;
    }
    saveTask = new SavingAsyncTask(getRootView(), eventToSave) {

        @Override
        protected void onPreExecute() {
            showPreloader();
        }

        @Override
        public void doInBackground(TaskResultHolder resultHolder) throws DaoException {
            DatabaseHelper.getEventDao().saveAndSnapshot(eventToSave);
        }

        @Override
        protected void onPostExecute(AsyncTaskResult<TaskResultHolder> taskResult) {
            hidePreloader();
            super.onPostExecute(taskResult);
            if (taskResult.getResultStatus().isSuccess()) {
                finish();
                if (caseUuid != null) {
                    EventParticipant eventParticipantToSave = DatabaseHelper.getEventParticipantDao().build();
                    Case linkedCase = DatabaseHelper.getCaseDao().getByReferenceDto(new CaseReferenceDto(caseUuid));
                    eventParticipantToSave.setPerson(linkedCase.getPerson());
                    eventParticipantToSave.setEvent(eventToSave);
                    eventParticipantToSave.setResultingCaseUuid(linkedCase.getUuid());
                    EventParticipantSaver eventParticipantSaver = new EventParticipantSaver(EventNewActivity.this);
                    eventParticipantSaver.saveEventParticipantLinkedToCase(eventParticipantToSave);
                } else {
                    EventEditActivity.startActivity(getContext(), eventToSave.getUuid(), EventSection.EVENT_PARTICIPANTS);
                }
            }
            saveTask = null;
        }
    }.executeOnThreadPool();
}
Also used : EventParticipantSaver(de.symeda.sormas.app.event.eventparticipant.EventParticipantSaver) ValidationException(de.symeda.sormas.api.utils.ValidationException) TaskResultHolder(de.symeda.sormas.app.core.async.TaskResultHolder) Event(de.symeda.sormas.app.backend.event.Event) AsyncTaskResult(de.symeda.sormas.app.core.async.AsyncTaskResult) CaseReferenceDto(de.symeda.sormas.api.caze.CaseReferenceDto) SavingAsyncTask(de.symeda.sormas.app.core.async.SavingAsyncTask) EventParticipant(de.symeda.sormas.app.backend.event.EventParticipant) Case(de.symeda.sormas.app.backend.caze.Case)

Example 4 with Event

use of de.symeda.sormas.app.backend.event.Event in project SORMAS-Project by hzi-braunschweig.

the class EventParticipantEditActivity method getPageMenuData.

@Override
public List<PageMenuItem> getPageMenuData() {
    List<PageMenuItem> menuItems = PageMenuItem.fromEnum(EventParticipantSection.values(), getContext());
    Event event = DatabaseHelper.getEventDao().queryUuid(eventUuid);
    if (!ConfigProvider.hasUserRight(UserRight.IMMUNIZATION_VIEW) || DatabaseHelper.getFeatureConfigurationDao().isPropertyValueTrue(FeatureType.IMMUNIZATION_MANAGEMENT, FeatureTypeProperty.REDUCED)) {
        menuItems.set(EventParticipantSection.IMMUNIZATIONS.ordinal(), null);
    }
    if (!ConfigProvider.hasUserRight(UserRight.IMMUNIZATION_VIEW) || !DatabaseHelper.getFeatureConfigurationDao().isPropertyValueTrue(FeatureType.IMMUNIZATION_MANAGEMENT, FeatureTypeProperty.REDUCED) || event.getDisease() == null) {
        menuItems.set(EventParticipantSection.VACCINATIONS.ordinal(), null);
    }
    return menuItems;
}
Also used : PageMenuItem(de.symeda.sormas.app.component.menu.PageMenuItem) Event(de.symeda.sormas.app.backend.event.Event)

Example 5 with Event

use of de.symeda.sormas.app.backend.event.Event in project SORMAS-Project by hzi-braunschweig.

the class EventParticipantNewActivity method saveData.

@Override
public void saveData() {
    if (saveTask != null) {
        NotificationHelper.showNotification(this, WARNING, getString(R.string.message_already_saving));
        // don't save multiple times
        return;
    }
    final EventParticipant eventParticipantToSave = (EventParticipant) getActiveFragment().getPrimaryData();
    EventParticipantNewFragment fragment = (EventParticipantNewFragment) getActiveFragment();
    fragment.setLiveValidationDisabled(false);
    try {
        FragmentValidator.validate(getContext(), fragment.getContentBinding());
    } catch (ValidationException e) {
        NotificationHelper.showNotification(this, ERROR, e.getMessage());
        return;
    }
    SelectOrCreatePersonDialog.selectOrCreatePerson(eventParticipantToSave.getPerson(), new Consumer<Person>() {

        @Override
        public void accept(Person person) {
            eventParticipantToSave.setPerson(person);
            saveTask = new SavingAsyncTask(getRootView(), eventParticipantToSave) {

                @Override
                protected void onPreExecute() {
                    showPreloader();
                }

                @Override
                protected void doInBackground(TaskResultHolder resultHolder) throws Exception {
                    DatabaseHelper.getPersonDao().saveAndSnapshot(eventParticipantToSave.getPerson());
                    final Event event = DatabaseHelper.getEventDao().queryUuid(eventUuid);
                    eventParticipantToSave.setEvent(event);
                    DatabaseHelper.getEventParticipantDao().saveAndSnapshot(eventParticipantToSave);
                }

                @Override
                protected void onPostExecute(AsyncTaskResult<TaskResultHolder> taskResult) {
                    hidePreloader();
                    super.onPostExecute(taskResult);
                    if (taskResult.getResultStatus().isSuccess()) {
                        EventParticipantEditActivity.startActivity(getContext(), getRootUuid(), eventUuid, EventParticipantSection.EVENT_PARTICIPANT_INFO);
                    }
                    saveTask = null;
                }
            }.executeOnThreadPool();
        }
    });
}
Also used : ValidationException(de.symeda.sormas.api.utils.ValidationException) TaskResultHolder(de.symeda.sormas.app.core.async.TaskResultHolder) Event(de.symeda.sormas.app.backend.event.Event) Person(de.symeda.sormas.app.backend.person.Person) EventParticipant(de.symeda.sormas.app.backend.event.EventParticipant) SavingAsyncTask(de.symeda.sormas.app.core.async.SavingAsyncTask) ValidationException(de.symeda.sormas.api.utils.ValidationException)

Aggregations

Event (de.symeda.sormas.app.backend.event.Event)30 EventParticipant (de.symeda.sormas.app.backend.event.EventParticipant)10 Case (de.symeda.sormas.app.backend.caze.Case)9 Contact (de.symeda.sormas.app.backend.contact.Contact)9 Test (org.junit.Test)6 Person (de.symeda.sormas.app.backend.person.Person)5 Task (de.symeda.sormas.app.backend.task.Task)5 ActivityAsCase (de.symeda.sormas.app.backend.activityascase.ActivityAsCase)4 ValidationException (de.symeda.sormas.api.utils.ValidationException)3 ClinicalVisit (de.symeda.sormas.app.backend.clinicalcourse.ClinicalVisit)3 Sample (de.symeda.sormas.app.backend.sample.Sample)3 SavingAsyncTask (de.symeda.sormas.app.core.async.SavingAsyncTask)3 TaskResultHolder (de.symeda.sormas.app.core.async.TaskResultHolder)3 Date (java.util.Date)3 MeansOfImmunization (de.symeda.sormas.api.immunization.MeansOfImmunization)2 Campaign (de.symeda.sormas.app.backend.campaign.Campaign)2 CampaignFormData (de.symeda.sormas.app.backend.campaign.data.CampaignFormData)2 CampaignFormMeta (de.symeda.sormas.app.backend.campaign.form.CampaignFormMeta)2 CaseDao (de.symeda.sormas.app.backend.caze.CaseDao)2 MaternalHistory (de.symeda.sormas.app.backend.caze.maternalhistory.MaternalHistory)2