]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/LedgerTransactionAccount.java
methods for converting of run-time data structures to json-serializable ones
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / model / LedgerTransactionAccount.java
index ad6c94c26f2948368f06c725cd6913c91f9140d8..6f8c3b4476a5136dcb787ec2f25f4ae05f8380d5 100644 (file)
 
 package net.ktnx.mobileledger.model;
 
+import net.ktnx.mobileledger.json.ParsedAmount;
+import net.ktnx.mobileledger.json.ParsedPosting;
+import net.ktnx.mobileledger.json.ParsedQuantity;
+import net.ktnx.mobileledger.json.ParsedStyle;
+
+import java.util.ArrayList;
+
 import androidx.annotation.NonNull;
 
 public class LedgerTransactionAccount {
@@ -85,4 +92,25 @@ public class LedgerTransactionAccount {
 
         return sb.toString();
     }
+    public ParsedPosting asParsedPosting() {
+        ParsedPosting result = new ParsedPosting();
+        result.setPaccount(accountName);
+        ArrayList<ParsedAmount> amounts = new ArrayList<>();
+        ParsedAmount amt = new ParsedAmount();
+        amt.setAcommodity((currency == null) ? "" : currency);
+        amt.setAismultiplier(false);
+        ParsedQuantity qty = new ParsedQuantity();
+        qty.setDecimalPlaces(2);
+        qty.setDecimalMantissa(Math.round(amount * 100));
+        amt.setAquantity(qty);
+        ParsedStyle style = new ParsedStyle();
+        style.setAscommodityside('L');
+        style.setAscommodityspaced(false);
+        style.setAsprecision(2);
+        style.setAsdecimalpoint('.');
+        amt.setAstyle(style);
+        amounts.add(amt);
+        result.setPamount(amounts);
+        return result;
+    }
 }