X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FLedgerAmount.java;h=4e3cb8d21d34d4068dc007df6ab3da79bcaf0e4f;hb=410ac5bee1019afe708b4cb748b0806f53a63606;hp=6eb4ffba06f08e953650c3fee5be9f029a42c83d;hpb=6b740c280c79b0170321f533747cdbfc3e179a29;p=mobile-ledger.git
diff --git a/app/src/main/java/net/ktnx/mobileledger/model/LedgerAmount.java b/app/src/main/java/net/ktnx/mobileledger/model/LedgerAmount.java
index 6eb4ffba..4e3cb8d2 100644
--- a/app/src/main/java/net/ktnx/mobileledger/model/LedgerAmount.java
+++ b/app/src/main/java/net/ktnx/mobileledger/model/LedgerAmount.java
@@ -1,45 +1,79 @@
/*
- * Copyright © 2018 Damyan Ivanov.
- * This file is part of Mobile-Ledger.
- * Mobile-Ledger is free software: you can distribute it and/or modify it
+ * Copyright © 2021 Damyan Ivanov.
+ * This file is part of MoLe.
+ * MoLe 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,
+ * MoLe 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 .
+ * along with MoLe. If not, see .
*/
package net.ktnx.mobileledger.model;
import android.annotation.SuppressLint;
-import android.support.annotation.NonNull;
+
+import androidx.annotation.NonNull;
+
+import net.ktnx.mobileledger.dao.AccountValueDAO;
+import net.ktnx.mobileledger.db.Account;
+import net.ktnx.mobileledger.db.AccountValue;
+import net.ktnx.mobileledger.db.DB;
public class LedgerAmount {
- private String currency;
- private float amount;
+ private final String currency;
+ private final float amount;
+ private long dbId;
- public
- LedgerAmount(float amount, @NonNull String currency) {
+ public LedgerAmount(float amount, @NonNull String currency) {
this.currency = currency;
this.amount = amount;
}
-
- public
- LedgerAmount(float amount) {
+ public LedgerAmount(float amount) {
this.amount = amount;
this.currency = null;
}
+ static public LedgerAmount fromDBO(AccountValue dbo) {
+ final LedgerAmount ledgerAmount = new LedgerAmount(dbo.getValue(), dbo.getCurrency());
+ ledgerAmount.dbId = dbo.getId();
+ return ledgerAmount;
+ }
+ public AccountValue toDBO(Account account) {
+ final AccountValueDAO dao = DB.get()
+ .getAccountValueDAO();
+ AccountValue obj = new AccountValue();
+ obj.setId(dbId);
+ obj.setAccountId(account.getId());
+
+ obj.setCurrency(currency);
+ obj.setValue(amount);
+ return obj;
+ }
@SuppressLint("DefaultLocale")
@NonNull
public String toString() {
- if (currency == null) return String.format("%,1.2f", amount);
- else return String.format("%s %,1.2f", currency, amount);
+ if (currency == null)
+ return String.format("%,1.2f", amount);
+ else
+ return String.format("%s %,1.2f", currency, amount);
+ }
+ public void propagateToAccount(@NonNull LedgerAccount acc) {
+ if (currency != null)
+ acc.addAmount(amount, currency);
+ else
+ acc.addAmount(amount);
+ }
+ public String getCurrency() {
+ return currency;
+ }
+ public float getAmount() {
+ return amount;
}
}