/*
- * Copyright © 2019 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
package net.ktnx.mobileledger.model;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import net.ktnx.mobileledger.db.TransactionAccount;
import net.ktnx.mobileledger.utils.Misc;
import java.util.Locale;
private String shortAccountName;
private float amount;
private boolean amountSet = false;
+ @Nullable
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);
this.amount = amount;
this.amountSet = true;
+ this.amountValid = true;
this.currency = Misc.emptyIsNull(currency);
this.comment = Misc.emptyIsNull(comment);
}
setComment(origin.getComment());
if (origin.isAmountSet())
setAmount(origin.getAmount());
+ 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;
}
public void setAmount(float account_amount) {
this.amount = account_amount;
this.amountSet = true;
+ this.amountValid = true;
}
public void resetAmount() {
this.amountSet = false;
+ this.amountValid = true;
+ }
+ public void invalidateAmount() {
+ this.amountValid = false;
}
public boolean isAmountSet() {
return amountSet;
}
+ public boolean isAmountValid() { return amountValid; }
+ @Nullable
public String getCurrency() {
return currency;
}
return sb.toString();
}
+ public TransactionAccount toDBO() {
+ TransactionAccount dbo = new TransactionAccount();
+ dbo.setAccountName(accountName);
+ if (amountSet)
+ dbo.setAmount(amount);
+ dbo.setComment(comment);
+ dbo.setCurrency(Misc.nullIsEmpty(currency));
+ dbo.setId(dbId);
+
+ return dbo;
+ }
}
\ No newline at end of file