X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FLedgerTransaction.java;h=689d619a694d2d15ae0d5ea6a110aa1e8fcf3b30;hp=229fb9d00f827a1202981af7084b72c9382d4b34;hb=d7feaff3ca4490495ca721b29b77c1646591a34c;hpb=998dd32a089d199a2569069415755eb3169b35b0 diff --git a/app/src/main/java/net/ktnx/mobileledger/model/LedgerTransaction.java b/app/src/main/java/net/ktnx/mobileledger/model/LedgerTransaction.java index 229fb9d0..689d619a 100644 --- a/app/src/main/java/net/ktnx/mobileledger/model/LedgerTransaction.java +++ b/app/src/main/java/net/ktnx/mobileledger/model/LedgerTransaction.java @@ -21,6 +21,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; +import net.ktnx.mobileledger.json.ParsedLedgerTransaction; +import net.ktnx.mobileledger.json.ParsedPosting; import net.ktnx.mobileledger.utils.Digest; import net.ktnx.mobileledger.utils.Globals; @@ -70,6 +72,15 @@ public class LedgerTransaction { public LedgerTransaction(int id) { this(id, (Date) null, null); } + public LedgerTransaction(int id, String profileUUID) { + this.profile = profileUUID; + this.id = id; + this.date = null; + this.description = null; + this.accounts = new ArrayList<>(); + this.dataHash = null; + this.dataLoaded = false; + } public ArrayList getAccounts() { return accounts; } @@ -177,4 +188,21 @@ public class LedgerTransaction { public void finishLoading() { dataLoaded = true; } + public ParsedLedgerTransaction toParsedLedgerTransaction() { + ParsedLedgerTransaction result = new ParsedLedgerTransaction(); + result.setTcomment(""); + result.setTprecedingcomment(""); + + ArrayList postings = new ArrayList<>(); + for (LedgerTransactionAccount acc : accounts) { + if (!acc.getAccountName().isEmpty()) postings.add(acc.asParsedPosting()); + } + + result.setTpostings(postings); + result.setTdate(Globals.formatIsoDate(date)); + result.setTdate2(null); + result.setTindex(1); + result.setTdescription(description); + return result; + } }