X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FLedgerAmount.java;h=4e3cb8d21d34d4068dc007df6ab3da79bcaf0e4f;hb=HEAD;hp=8b2d9e7ae28c337ff3c7ca5c4586c23acb51b527;hpb=998dd32a089d199a2569069415755eb3169b35b0;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 8b2d9e7a..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,5 +1,5 @@ /* - * Copyright © 2018 Damyan Ivanov. + * 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 @@ -18,28 +18,62 @@ 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; } }