X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftransaction_list%2FTransactionListViewModel.java;h=35b011458c8f36759d3e520a2d1552c98fb8a946;hp=10aa2e9bc62630949cf9df03607463bc12d306de;hb=a983099d6150044a08a1fbc601d9af9bd8d0c0a8;hpb=81a8e4780e37be81713d8b5b3a3e92ce9d291a78 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListViewModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListViewModel.java index 10aa2e9b..35b01145 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListViewModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListViewModel.java @@ -18,7 +18,43 @@ package net.ktnx.mobileledger.ui.transaction_list; import android.arch.lifecycle.ViewModel; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; + +import net.ktnx.mobileledger.model.LedgerTransaction; +import net.ktnx.mobileledger.utils.MobileLedgerDatabase; + +import java.util.ArrayList; +import java.util.List; public class TransactionListViewModel extends ViewModel { - // TODO: Implement the ViewModel + + private List transactions; + + public List getTransactions(MobileLedgerDatabase dbh) { + if (transactions == null) { + transactions = new ArrayList<>(); + reloadTransactions(dbh); + } + + return transactions; + } + private void reloadTransactions(MobileLedgerDatabase dbh) { + transactions.clear(); + String sql = "SELECT id, date, description FROM transactions"; + sql += " ORDER BY date desc, id desc"; + + try (SQLiteDatabase db = dbh.getReadableDatabase()) { + try (Cursor cursor = db.rawQuery(sql, null)) { + while (cursor.moveToNext()) { + LedgerTransaction tr = + new LedgerTransaction(cursor.getString(0), cursor.getString(1), + cursor.getString(2)); + // TODO: fill accounts and amounts + transactions.add(tr); + } + } + } + + } }