From ef1bf49492de4ff4bc224c709a72944796fcd528 Mon Sep 17 00:00:00 2001 From: anthony4m Date: Mon, 18 Nov 2024 16:53:59 +0000 Subject: [PATCH] #183 added validations --- .../edit/RiskAssessmentEditActivity.java | 9 ++++++++ .../edit/SignalVerificationEditActivity.java | 21 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/riskAssessment/edit/RiskAssessmentEditActivity.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/riskAssessment/edit/RiskAssessmentEditActivity.java index 148c2eb92e6..2df71197def 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/riskAssessment/edit/RiskAssessmentEditActivity.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/riskAssessment/edit/RiskAssessmentEditActivity.java @@ -15,6 +15,7 @@ package de.symeda.sormas.app.riskAssessment.edit; +import static de.symeda.sormas.app.core.notification.NotificationType.ERROR; import static de.symeda.sormas.app.core.notification.NotificationType.WARNING; import android.content.Context; @@ -37,6 +38,7 @@ import de.symeda.sormas.app.backend.ebs.riskAssessment.RiskAssessment; import de.symeda.sormas.app.component.dialog.InfoDialog; import de.symeda.sormas.app.component.menu.PageMenuItem; +import de.symeda.sormas.app.component.validation.FragmentValidator; import de.symeda.sormas.app.core.async.AsyncTaskResult; import de.symeda.sormas.app.core.async.SavingAsyncTask; import de.symeda.sormas.app.core.async.TaskResultHolder; @@ -157,6 +159,13 @@ public void saveData() { final RiskAssessment riskToSave = getStoredRootEntity(); + try { + FragmentValidator.validate(getContext(), getActiveFragment().getContentBinding()); + } catch (ValidationException e) { + NotificationHelper.showNotification(this, ERROR, e.getMessage()); + return; + } + saveTask = new SavingAsyncTask(getRootView(), riskToSave) { @Override public void doInBackground(TaskResultHolder resultHolder) throws DaoException, ValidationException { diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/signalVerification/edit/SignalVerificationEditActivity.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/signalVerification/edit/SignalVerificationEditActivity.java index d274e31e108..6593071c2a2 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/signalVerification/edit/SignalVerificationEditActivity.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/signalVerification/edit/SignalVerificationEditActivity.java @@ -15,6 +15,8 @@ package de.symeda.sormas.app.signalVerification.edit; +import static de.symeda.sormas.api.utils.DataHelper.isNullOrEmpty; +import static de.symeda.sormas.app.core.notification.NotificationType.ERROR; import static de.symeda.sormas.app.core.notification.NotificationType.WARNING; import android.app.AlertDialog; @@ -39,6 +41,7 @@ import de.symeda.sormas.app.backend.ebs.signalVerification.SignalVerification; import de.symeda.sormas.app.backend.ebs.triaging.Triaging; import de.symeda.sormas.app.component.menu.PageMenuItem; +import de.symeda.sormas.app.component.validation.FragmentValidator; import de.symeda.sormas.app.core.async.AsyncTaskResult; import de.symeda.sormas.app.core.async.SavingAsyncTask; import de.symeda.sormas.app.core.async.TaskResultHolder; @@ -158,6 +161,14 @@ public void saveData() { final SignalVerification signalToSave = getStoredRootEntity(); + try { + FragmentValidator.validate(getContext(), getActiveFragment().getContentBinding()); + callDeathCount(signalToSave); + } catch (ValidationException e) { + NotificationHelper.showNotification(this, ERROR, e.getMessage()); + return; + } + saveTask = new SavingAsyncTask(getRootView(), signalToSave) { @Override @@ -182,6 +193,16 @@ protected void onPostExecute(AsyncTaskResult taskResult) { }.executeOnThreadPool(); } + public static void callDeathCount(SignalVerification signalVerification) { + if (!isNullOrEmpty(signalVerification.getNumberOfDeathPerson()) && isNullOrEmpty(signalVerification.getNumberOfPersonCases())){ + signalVerification.setNumberOfPersonCases(signalVerification.getNumberOfDeathPerson()); + } + if (!isNullOrEmpty(signalVerification.getNumberOfDeath()) && isNullOrEmpty(signalVerification.getNumberOfPersonAnimal())){ + signalVerification.setNumberOfPersonAnimal(signalVerification.getNumberOfDeath()); + } + } + + @Override public void onDestroy() { super.onDestroy();