]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/LedgerTransactionAccount.java
Room-based profile management
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / model / LedgerTransactionAccount.java
index 1791cfbc5962e79b5b3c16ab4516c5e921a1765b..53b6a65f3bca893186d73bb0710719fdab8d3fae 100644 (file)
@@ -19,6 +19,7 @@ package net.ktnx.mobileledger.model;
 
 import androidx.annotation.NonNull;
 
+import net.ktnx.mobileledger.db.TransactionAccount;
 import net.ktnx.mobileledger.utils.Misc;
 
 import java.util.Locale;
@@ -31,6 +32,7 @@ public class LedgerTransactionAccount {
     private String currency;
     private String comment;
     private boolean amountValid = true;
+    private long dbId;
     public LedgerTransactionAccount(String accountName, float amount, String currency,
                                     String comment) {
         this.setAccountName(accountName);
@@ -56,6 +58,13 @@ public class LedgerTransactionAccount {
         amountValid = origin.amountValid;
         currency = origin.getCurrency();
     }
+    public LedgerTransactionAccount(TransactionAccount dbo) {
+        this(dbo.getAccountName(), dbo.getAmount(), Misc.emptyIsNull(dbo.getCurrency()),
+                Misc.emptyIsNull(dbo.getComment()));
+        amountSet = true;
+        amountValid = true;
+        dbId = dbo.getId();
+    }
     public String getComment() {
         return comment;
     }
@@ -114,4 +123,15 @@ public class LedgerTransactionAccount {
 
         return sb.toString();
     }
+    public TransactionAccount toDBO() {
+        TransactionAccount dbo = new TransactionAccount();
+        dbo.setAccountName(accountName);
+        if (amountSet)
+            dbo.setAmount(amount);
+        dbo.setComment(comment);
+        dbo.setCurrency(currency);
+        dbo.setId(dbId);
+
+        return dbo;
+    }
 }
\ No newline at end of file