/*
* Copyright (C) 2016 Glucosio Foundation
*
* This file is part of Glucosio.
*
* Glucosio is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* Glucosio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Glucosio. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
package org.glucosio.android.presenter;
import org.glucosio.android.db.DatabaseHandler;
import org.glucosio.android.fragment.HistoryFragment;
import java.util.ArrayList;
public class HistoryPresenter {
private DatabaseHandler dB;
private HistoryFragment fragment;
public HistoryPresenter(HistoryFragment historyFragment) {
this.fragment = historyFragment;
dB = new DatabaseHandler(historyFragment.getContext());
}
public boolean isdbEmpty() {
return dB.getGlucoseReadings().size() == 0;
}
public String convertDate(String date) {
return fragment.convertDate(date);
}
public void onDeleteClicked(long idToDelete, int metricID) {
switch (metricID) {
// Glucose
case 0:
dB.deleteGlucoseReading(dB.getGlucoseReadingById(idToDelete));
fragment.reloadFragmentAdapter();
break;
// HB1AC
case 1:
dB.deleteHB1ACReading(dB.getHB1ACReadingById(idToDelete));
fragment.reloadFragmentAdapter();
break;
// Cholesterol
case 2:
dB.deleteCholesterolReading(dB.getCholesterolReading(idToDelete));
fragment.reloadFragmentAdapter();
break;
// Pressure
case 3:
dB.deletePressureReading(dB.getPressureReading(idToDelete));
fragment.reloadFragmentAdapter();
break;
//Ketones
case 4:
dB.deleteKetoneReading(dB.getKetoneReadingById(idToDelete));
fragment.reloadFragmentAdapter();
break;
// Weight
case 5:
dB.deleteWeightReading(dB.getWeightReadingById(idToDelete));
fragment.reloadFragmentAdapter();
break;
default:
break;
}
fragment.notifyAdapter();
fragment.updateToolbarBehaviour();
}
// Getters
public String getUnitMeasuerement() {
return dB.getUser(1).getPreferred_unit();
}
public String getWeightUnitMeasurement() {
return dB.getUser(1).getPreferred_unit_weight();
}
public String getA1cUnitMeasurement() {
return dB.getUser(1).getPreferred_unit_a1c();
}
public ArrayList<Long> getGlucoseId() {
return dB.getGlucoseIdAsArray();
}
public ArrayList<String> getGlucoseReadingType() {
return dB.getGlucoseTypeAsArray();
}
public ArrayList<String> getGlucoseNotes() {
return dB.getGlucoseNotesAsArray();
}
public ArrayList<Integer> getGlucoseReading() {
return dB.getGlucoseReadingAsArray();
}
public ArrayList<String> getGlucoseDateTime() {
return dB.getGlucoseDateTimeAsArray();
}
public int getGlucoseReadingsNumber() {
return dB.getGlucoseReadingAsArray().size();
}
public ArrayList<Double> getKetoneReading() {
return dB.getKetoneReadingAsArray();
}
public ArrayList<String> getKetoneDateTime() {
return dB.getKetoneDateTimeAsArray();
}
public ArrayList<Long> getKetoneId() {
return dB.getKetoneIdAsArray();
}
public int getKetoneReadingsNumber() {
return dB.getKetoneDateTimeAsArray().size();
}
public ArrayList<Long> getCholesterolId() {
return dB.getCholesterolIdAsArray();
}
public ArrayList<String> getCholesterolDateTime() {
return dB.getCholesterolDateTimeAsArray();
}
public ArrayList<Integer> getHDLCholesterolReading() {
return dB.getHDLCholesterolReadingAsArray();
}
public ArrayList<Integer> getLDLCholesterolReading() {
return dB.getLDLCholesterolReadingAsArray();
}
public ArrayList<Integer> getTotalCholesterolReading() {
return dB.getTotalCholesterolReadingAsArray();
}
public int getCholesterolReadingsNumber() {
return dB.getCholesterolIdAsArray().size();
}
public ArrayList<Long> getHB1ACId() {
return dB.getHB1ACIdAsArray();
}
public ArrayList<String> getHB1ACDateTime() {
return dB.getHB1ACDateTimeAsArray();
}
public ArrayList<Double> getHB1ACReading() {
return dB.getHB1ACReadingAsArray();
}
public int getHB1ACReadingsNumber() {
return dB.getHB1ACReadingAsArray().size();
}
public int getPressureReadings() {
return dB.getPressureReadings().size();
}
public ArrayList<String> getPressureDateTime() {
return dB.getPressureDateTimeAsArray();
}
public ArrayList<Long> getPressureId() {
return dB.getPressureIdAsArray();
}
public ArrayList<Integer> getMinPressureReading() {
return dB.getMinPressureReadingAsArray();
}
public ArrayList<Integer> getMaxPressureReading() {
return dB.getMaxPressureReadingAsArray();
}
public int getPressureReadingsNumber() {
return dB.getPressureIdAsArray().size();
}
public ArrayList<Integer> getWeightReadings() {
return dB.getWeightReadingAsArray();
}
public ArrayList<String> getWeightDateTime() {
return dB.getWeightReadingDateTimeAsArray();
}
public ArrayList<Long> getWeightId() {
return dB.getWeightIdAsArray();
}
public int getWeightReadingsNumber() {
return dB.getWeightIdAsArray().size();
}
}