package ru.orangesoftware.financisto2.report; import android.content.Context; import ru.orangesoftware.financisto2.R; import ru.orangesoftware.financisto2.db.DatabaseHelper.TransactionColumns; import ru.orangesoftware.financisto2.db.DatabaseAdapter; import ru.orangesoftware.financisto2.graph.Report2DChart; import ru.orangesoftware.financisto2.model.Currency; import ru.orangesoftware.financisto2.model.Payee; import java.util.ArrayList; import java.util.Calendar; import java.util.List; /** * 2D Chart Report to display monthly results by Payees. * @author Denis Solonenko */ public class PayeeByPeriodReport extends Report2DChart { public PayeeByPeriodReport(Context context, DatabaseAdapter db, Calendar startPeriod, int periodLength, Currency currency) { super(context, db, startPeriod, periodLength, currency); } @Override public String getFilterName() { if (filterIds.size()>0) { long payeeId = filterIds.get(currentFilterOrder); Payee payee = db.get(Payee.class, payeeId); if (payee != null) { return payee.getTitle(); } else { return context.getString(R.string.no_payee); } } else { // no payee return context.getString(R.string.no_payee); } } @Override public List<Report2DChart> getChildrenCharts() { return null; } @Override public void setFilterIds() { filterIds = new ArrayList<Long>(); currentFilterOrder = 0; List<Payee> payees = db.getAllPayeeList(); if (payees.size() > 0) { for (Payee p : payees) { filterIds.add(p.getId()); } } } @Override protected void setColumnFilter() { columnFilter = TransactionColumns.payee_id.name(); } @Override public String getNoFilterMessage(Context context) { return context.getString(R.string.report_no_payee); } }