import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
+import net.ktnx.mobileledger.json.ParsedLedgerTransaction;
+import net.ktnx.mobileledger.json.ParsedPosting;
import net.ktnx.mobileledger.utils.Digest;
import net.ktnx.mobileledger.utils.Globals;
throws ParseException {
this(id, Globals.parseLedgerDate(dateString), description);
}
- public LedgerTransaction(Integer id, Date date, String description) {
- this.profile = Data.profile.get().getUuid();
+ public LedgerTransaction(Integer id, Date date, String description, MobileLedgerProfile profile) {
+ this.profile = profile.getUuid();
this.id = id;
this.date = date;
this.description = description;
this.dataHash = null;
dataLoaded = false;
}
+ public LedgerTransaction(Integer id, Date date, String description) {
+ this(id, date, description, Data.profile.get());
+ }
public LedgerTransaction(Date date, String description) {
this(null, date, description);
}
public void finishLoading() {
dataLoaded = true;
}
+ public ParsedLedgerTransaction toParsedLedgerTransaction() {
+ ParsedLedgerTransaction result = new ParsedLedgerTransaction();
+ result.setTcomment("");
+ result.setTprecedingcomment("");
+
+ ArrayList<ParsedPosting> postings = new ArrayList<>();
+ for (LedgerTransactionAccount acc : accounts) {
+ if (!acc.getAccountName().isEmpty()) postings.add(acc.asParsedPosting());
+ }
+
+ result.setTpostings(postings);
+ result.setTdate(Globals.formatIsoDate(date));
+ result.setTdate2(null);
+ result.setTindex(1);
+ result.setTdescription(description);
+ return result;
+ }
}