]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java
central method for setting the last profile update date
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / model / MobileLedgerProfile.java
index b3920fe4d5e5a9acba517ad8ec842f38fbc72839..ae877c3384c4ae992efa77f6b2d44b5b12285a2f 100644 (file)
@@ -25,6 +25,7 @@ import net.ktnx.mobileledger.utils.Globals;
 import net.ktnx.mobileledger.utils.MLDB;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -312,4 +313,38 @@ public final class MobileLedgerProfile {
     public void setThemeId(Object o) {
         setThemeId(Integer.valueOf(String.valueOf(o)).intValue());
     }
+    public void markTransactionsAsNotPresent(SQLiteDatabase db) {
+        db.execSQL("UPDATE transactions set keep=0 where profile=?", new String[]{uuid});
+
+    }
+    public void markAccountsAsNotPresent(SQLiteDatabase db) {
+        db.execSQL("update account_values set keep=0 where profile=?;", new String[]{uuid});
+        db.execSQL("update accounts set keep=0 where profile=?;", new String[]{uuid});
+
+    }
+    public void deleteNotPresentAccounts(SQLiteDatabase db) {
+        db.execSQL("delete from account_values where keep=0 and profile=?", new String[]{uuid});
+        db.execSQL("delete from accounts where keep=0 and profile=?", new String[]{uuid});
+    }
+    public void markTransactionAsPresent(SQLiteDatabase db, LedgerTransaction transaction) {
+        db.execSQL("UPDATE transactions SET keep = 1 WHERE profile = ? and id=?",
+                new Object[]{uuid, transaction.getId()
+                });
+    }
+    public void markTransactionsBeforeTransactionAsPresent(SQLiteDatabase db,
+                                                           LedgerTransaction transaction) {
+        db.execSQL("UPDATE transactions SET keep=1 WHERE profile = ? and id < ?",
+                new Object[]{uuid, transaction.getId()
+                });
+
+    }
+    public void deleteNotPresentTransactions(SQLiteDatabase db) {
+        db.execSQL("DELETE FROM transactions WHERE profile=? AND keep = 0", new String[]{uuid});
+    }
+    public void setLastUpdateStamp() {
+        Log.d("db", "Updating transaction value stamp");
+        Date now = new Date();
+        setLongOption(MLDB.OPT_LAST_SCRAPE, now.getTime());
+        Data.lastUpdateDate.set(now);
+    }
 }