]> git.ktnx.net Git - mobile-ledger.git/commitdiff
central methods for marking accounts and transaction as obsolete, active
authorDamyan Ivanov <dam+mobileledger@ktnx.net>
Thu, 7 Mar 2019 03:21:33 +0000 (05:21 +0200)
committerDamyan Ivanov <dam+mobileledger@ktnx.net>
Thu, 7 Mar 2019 03:21:33 +0000 (05:21 +0200)
as well as deleting the stale records

app/src/main/java/net/ktnx/mobileledger/model/MobileLedgerProfile.java

index b3920fe4d5e5a9acba517ad8ec842f38fbc72839..59ae1958dd89c5e23e4cc1342fc19a2a4b914727 100644 (file)
@@ -312,4 +312,32 @@ 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});
+    }
 }