/*
- * Copyright © 2019 Damyan Ivanov.
+ * Copyright © 2020 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
import net.ktnx.mobileledger.R;
import net.ktnx.mobileledger.async.DbOpQueue;
import net.ktnx.mobileledger.async.SendTransactionTask;
-import net.ktnx.mobileledger.utils.Globals;
-import net.ktnx.mobileledger.utils.Logger;
import net.ktnx.mobileledger.utils.MLDB;
import net.ktnx.mobileledger.utils.Misc;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
// N.B. when adding new fields, update the copy-constructor below
private FutureDates futureDates = FutureDates.None;
private SendTransactionTask.API apiVersion = SendTransactionTask.API.auto;
+ private Calendar firstTransactionDate;
+ private Calendar lastTransactionDate;
public MobileLedgerProfile() {
this.uuid = String.valueOf(UUID.randomUUID());
}
db.execSQL("DELETE from transaction_accounts WHERE profile = ? and transaction_id=?",
new Object[]{uuid, tr.getId()});
- db.execSQL("INSERT INTO transactions(profile, id, date, description, data_hash, keep) " +
- "values(?,?,?,?,?,1)",
- new Object[]{uuid, tr.getId(), Globals.formatLedgerDate(tr.getDate()),
- tr.getDescription(), tr.getDataHash()
+ db.execSQL(
+ "INSERT INTO transactions(profile, id, year, month, day, description, "+
+ "comment, data_hash, keep) " +
+ "values(?,?,?,?,?,?,?,?,1)",
+ new Object[]{uuid, tr.getId(), tr.getDate().year, tr.getDate().month,
+ tr.getDate().day, tr.getDescription(),
+ tr.getComment(), tr.getDataHash()
});
for (LedgerTransactionAccount item : tr.getAccounts()) {
db.execSQL("delete from transactions where profile=?", pUuid);
db.execSQL("delete from transaction_accounts where profile=?", pUuid);
db.setTransactionSuccessful();
- Logger.debug("wipe", String.format(Locale.ENGLISH, "Profile %s wiped out", pUuid[0]));
+ debug("wipe", String.format(Locale.ENGLISH, "Profile %s wiped out", pUuid[0]));
}
finally {
db.endTransaction();
return null;
}
}
+ public Calendar getFirstTransactionDate() {
+ return firstTransactionDate;
+ }
+ public Calendar getLastTransactionDate() {
+ return lastTransactionDate;
+ }
public enum FutureDates {
None(0), OneWeek(7), TwoWeeks(14), OneMonth(30), TwoMonths(60), ThreeMonths(90),
SixMonths(180), OneYear(365), All(-1);