package org.openlmis.core.presenter; import com.google.inject.Inject; import org.openlmis.core.exceptions.LMISException; import org.openlmis.core.exceptions.ViewNotMatchException; import org.openlmis.core.model.SyncType; import org.openlmis.core.model.repository.SyncErrorsRepository; import org.openlmis.core.view.BaseView; import org.openlmis.core.view.widget.SyncDateBottomSheet; public class SyncErrorsPresenter extends Presenter { private SyncDateBottomSheet view; @Inject SyncErrorsRepository repository; @Override public void attachView(BaseView v) throws ViewNotMatchException { this.view = (SyncDateBottomSheet) v; } public boolean hasRnrSyncError() { return hasSyncError(SyncType.RnRForm); } public boolean hasStockCardSyncError() { return hasSyncError(SyncType.StockCards); } private boolean hasSyncError(SyncType syncType) { try { return repository.hasSyncErrorOf(syncType); } catch (LMISException e) { e.reportToFabric(); return false; } } }