X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FLedgerTransaction.java;h=ad456cef740873d4ab7c2f2e5c5a6268292416d9;hp=1690b9369dd323bd72ffad6c3a8bef943fb37a51;hb=674b18d882411b94513d77c0aea39fd929a7a62b;hpb=da49b6f42e6bbb9535b10f4c6d21e784c4106f4d diff --git a/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java b/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java index 1690b936..ad456cef 100644 --- a/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java +++ b/app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java @@ -1,20 +1,43 @@ +/* + * Copyright © 2018 Damyan Ivanov. + * This file is part of Mobile-Ledger. + * Mobile-Ledger is free software: you can distribute it and/or modify it + * under the term of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your opinion), any later version. + * + * Mobile-Ledger 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 terms for details. + * + * You should have received a copy of the GNU General Public License + * along with Mobile-Ledger. If not, see . + */ + package net.ktnx.mobileledger; +import android.database.sqlite.SQLiteDatabase; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; class LedgerTransaction { + private String id; private String date; private String description; private List items; - LedgerTransaction(String date, String description) { + LedgerTransaction(String id, String date, String description) { + this.id = id; this.date = date; this.description = description; - this.items = new ArrayList(); + this.items = new ArrayList<>(); + } + LedgerTransaction(String date, String description) { + this(null, date, description); } - void add_item(LedgerTransactionItem item) { items.add(item); } @@ -35,7 +58,7 @@ class LedgerTransaction { this.description = description; } - public Iterator getItemsIterator() { + Iterator getItemsIterator() { return new Iterator() { private int pointer = 0; @Override @@ -49,4 +72,18 @@ class LedgerTransaction { } }; } + public String getId() { + return id; + } + + void insertInto(SQLiteDatabase db) { + db.execSQL("INSERT INTO transactions(id, date, " + "description) values(?, ?, ?)", + new String[]{id, date, description}); + + for(LedgerTransactionItem item : items) { + db.execSQL("INSERT INTO transaction_accounts(transaction_id, account_name, amount, " + + "currency) values(?, ?, ?, ?)", new Object[]{id, item.getAccountName(), + item.getAmount(), item.getCurrency()}); + } + } }