X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdao%2FCurrencyDAO.java;h=1505a8fe4e6c6026d167a5f6b33ef5b524d16a81;hp=f650ff2d7a8ca307c5f48c5a38d98f2268e3d948;hb=833544eb24cb630dc1ce221e4aa3dedb3f6341e3;hpb=ac02090e6042d34afc00e2dde45e70f49e2dbedc diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java index f650ff2d..1505a8fe 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java @@ -21,6 +21,7 @@ import androidx.lifecycle.LiveData; import androidx.room.Dao; import androidx.room.Delete; import androidx.room.Insert; +import androidx.room.OnConflictStrategy; import androidx.room.Query; import androidx.room.Update; @@ -29,21 +30,36 @@ import net.ktnx.mobileledger.db.Currency; import java.util.List; @Dao -public interface CurrencyDAO { - @Insert - void insert(Currency... items); +public abstract class CurrencyDAO extends BaseDAO { + @Insert(onConflict = OnConflictStrategy.REPLACE) + abstract long insertSync(Currency item); @Update - void update(Currency... items); + abstract void updateSync(Currency item); @Delete - void delete(Currency item); + public abstract void deleteSync(Currency item); + + @Query("DELETE FROM currencies") + public abstract void deleteAllSync(); + + @Query("SELECT * FROM currencies") + public abstract LiveData> getAll(); @Query("SELECT * FROM currencies") - LiveData> getCurrencies(); + public abstract List getAllSync(); @Query("SELECT * FROM currencies WHERE id = :id") - LiveData getCurrencyById(Long id); + abstract LiveData getById(long id); + + @Query("SELECT * FROM currencies WHERE id = :id") + public abstract Currency getByIdSync(long id); + + @Query("SELECT * FROM currencies WHERE name = :name") + public abstract LiveData getByName(String name); + + @Query("SELECT * FROM currencies WHERE name = :name") + public abstract Currency getByNameSync(String name); // not useful for now // @Transaction