X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fmodel%2FLedgerAmount.java;h=4e3cb8d21d34d4068dc007df6ab3da79bcaf0e4f;hb=8098a8b37a4331b9faf6cf50a51a0d7aa9677421;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; } }