]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java
methods for deleting all DB tables
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / dao / TemplateAccountDAO.java
index 4fd1d2045b24dfe7800806c1e128be7aaabbffba..c2be8c7ff23ce097a937351671572e77b9e650d4 100644 (file)
@@ -17,6 +17,7 @@
 
 package net.ktnx.mobileledger.dao;
 
+import androidx.annotation.NonNull;
 import androidx.lifecycle.LiveData;
 import androidx.room.Dao;
 import androidx.room.Delete;
@@ -31,13 +32,16 @@ import java.util.List;
 @Dao
 public interface TemplateAccountDAO {
     @Insert
-    Long insert(TemplateAccount item);
+    Long insertSync(TemplateAccount item);
 
     @Update
-    void update(TemplateAccount... items);
+    void updateSync(TemplateAccount... items);
 
     @Delete
-    void delete(TemplateAccount item);
+    void deleteSync(TemplateAccount item);
+
+    @Query("DELETE FROM template_accounts")
+    void deleteAllSync();
 
     @Query("SELECT * FROM template_accounts WHERE template_id=:template_id")
     LiveData<List<TemplateAccount>> getTemplateAccounts(Long template_id);
@@ -45,8 +49,9 @@ public interface TemplateAccountDAO {
     @Query("SELECT * FROM template_accounts WHERE id = :id")
     LiveData<TemplateAccount> getPatternAccountById(Long id);
 
-//    not useful for now
-//    @Transaction
-//    @Query("SELECT * FROM patterns")
-//    List<PatternWithAccounts> getPatternsWithAccounts();
+    @Query("UPDATE template_accounts set position=-1 WHERE template_id=:templateId")
+    void prepareForSave(@NonNull Long templateId);
+
+    @Query("DELETE FROM template_accounts WHERE position=-1 AND template_id=:templateId")
+    void finishSave(@NonNull Long templateId);
 }