X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdao%2FTemplateAccountDAO.java;h=c2be8c7ff23ce097a937351671572e77b9e650d4;hp=4fd1d2045b24dfe7800806c1e128be7aaabbffba;hb=833544eb24cb630dc1ce221e4aa3dedb3f6341e3;hpb=3ab99e1679326277d6ba7f8ce28f17a96dfa07aa diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java index 4fd1d204..c2be8c7f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java @@ -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> getTemplateAccounts(Long template_id); @@ -45,8 +49,9 @@ public interface TemplateAccountDAO { @Query("SELECT * FROM template_accounts WHERE id = :id") LiveData getPatternAccountById(Long id); -// not useful for now -// @Transaction -// @Query("SELECT * FROM patterns") -// List 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); }