]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java
adopt Room for displaying account lists
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / dao / TransactionDAO.java
index 0bee771368900def7e73e8b111ce7e76243e9f81..185caa18b1873f8d7f9fb9b259f7b2da7225c2f5 100644 (file)
@@ -42,7 +42,7 @@ public abstract class TransactionDAO extends BaseDAO<Transaction> {
         return result;
     }
     @Insert
-    public abstract void insertSync(Transaction item);
+    public abstract long insertSync(Transaction item);
 
     @Update
     public abstract void updateSync(Transaction item);
@@ -50,6 +50,9 @@ public abstract class TransactionDAO extends BaseDAO<Transaction> {
     @Delete
     public abstract void deleteSync(Transaction item);
 
+    @Delete
+    public abstract void deleteSync(List<Transaction> items);
+
     @Query("SELECT * FROM transactions")
     public abstract LiveData<List<Transaction>> getAll();
 
@@ -57,8 +60,8 @@ public abstract class TransactionDAO extends BaseDAO<Transaction> {
 //    @Transaction
 //    @Query("SELECT * FROM patterns")
 //    List<PatternWithAccounts> getPatternsWithAccounts();
-    @Query("SELECT * FROM transactions WHERE profile = :profileUUID AND id = :id")
-    public abstract LiveData<Transaction> getById(@NonNull String profileUUID, long id);
+    @Query("SELECT * FROM transactions WHERE id = :id")
+    public abstract LiveData<Transaction> getById(long id);
 
     @Query("SELECT DISTINCT description, CASE WHEN description_upper LIKE :term||'%%' THEN 1 " +
            "               WHEN description_upper LIKE '%%:'||:term||'%%' THEN 2 " +
@@ -68,6 +71,9 @@ public abstract class TransactionDAO extends BaseDAO<Transaction> {
            "ORDER BY ordering, description_upper, rowid ")
     public abstract List<DescriptionContainer> lookupDescriptionSync(@NonNull String term);
 
+    @Query("SELECT * from transactions WHERE profile_id = :profileId")
+    public abstract List<Transaction> allForProfileSync(long profileId);
+
     static public class DescriptionContainer {
         @ColumnInfo
         public String description;