]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/LedgerTransaction.java
machinery for retrieving transaction journal from hledger-web
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / LedgerTransaction.java
index 3000b2e35ecd20a6c634a828e94235847cbde858..ad456cef740873d4ab7c2f2e5c5a6268292416d9 100644 (file)
 
 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<LedgerTransactionItem> 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<>();
     }
-
+    LedgerTransaction(String date, String description) {
+        this(null, date, description);
+    }
     void add_item(LedgerTransactionItem item) {
         items.add(item);
     }
@@ -66,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()});
+        }
+    }
 }