package ivl.android.moneybalance.dao; import ivl.android.moneybalance.data.Currency; import android.content.ContentValues; import android.database.Cursor; public class CurrencyDataSource extends AbstractDataSource<Currency> { private static final String[] COLUMNS = { DataBaseHelper.COLUMN_ID, DataBaseHelper.COLUMN_CALCULATION_ID, DataBaseHelper.COLUMN_CURRENCY_CODE, DataBaseHelper.COLUMN_RATE_THIS, DataBaseHelper.COLUMN_RATE_MAIN }; public CurrencyDataSource(DataBaseHelper dbHelper) { super(dbHelper, DataBaseHelper.TABLE_CURRENCIES, COLUMNS); } @Override protected ContentValues toContentValues(Currency currency) { ContentValues values = new ContentValues(); values.put(DataBaseHelper.COLUMN_CALCULATION_ID, currency.getCalculationId()); values.put(DataBaseHelper.COLUMN_CURRENCY_CODE, currency.getCurrencyCode()); values.put(DataBaseHelper.COLUMN_RATE_THIS, currency.getExchangeRateThis()); values.put(DataBaseHelper.COLUMN_RATE_MAIN, currency.getExchangeRateMain()); return values; } @Override public Currency fromCursor(Cursor cursor) { long calculationId = cursor.getLong(1); Currency currency = new Currency(calculationId); currency.setId(cursor.getLong(0)); currency.setCurrencyCode(cursor.getString(2)); currency.setExchangeRate(cursor.getDouble(3), cursor.getDouble(4)); return currency; } public Cursor listByCalculation(long calculationId) { return getDatabase().query( DataBaseHelper.TABLE_CURRENCIES, COLUMNS, DataBaseHelper.COLUMN_CALCULATION_ID + " = ?", new String[] { Long.toString(calculationId) }, null, null, null); } }