From 96080a182ccb5a073b013e8d68b9d4de06f0e35b Mon Sep 17 00:00:00 2001 From: BGbaderguet <48762010+BGbaderguet@users.noreply.github.com> Date: Sat, 26 Dec 2020 11:41:02 +0100 Subject: [PATCH] Adding dollar currency table --- .../dao/DollarCurrencyDao.java | 15 ++++++ .../database/RealEstateAgencyDatabase.java | 5 +- .../entities/DollarCurrency.java | 48 +++++++++++++++++++ .../MyRealEstateAgencyRepository.java | 13 +---- 4 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/DollarCurrencyDao.java create mode 100644 app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/DollarCurrency.java diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/DollarCurrencyDao.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/DollarCurrencyDao.java new file mode 100644 index 0000000..3040491 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/DollarCurrencyDao.java @@ -0,0 +1,15 @@ +package fr.romanet.vj.apps.myrealestateagency.dao; + +import androidx.room.Dao; +import androidx.room.Query; + +import java.util.List; + +import fr.romanet.vj.apps.myrealestateagency.entities.DollarCurrency; + +@Dao +public interface DollarCurrencyDao { + + @Query("SELECT * FROM dollar") + List getDollarCurrencyList(); +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java index ccf7a73..eddfd5d 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/database/RealEstateAgencyDatabase.java @@ -8,14 +8,16 @@ import fr.romanet.vj.apps.myrealestateagency.dao.AgencyDao; import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithAgentsDao; //import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithPropertiesDao; import fr.romanet.vj.apps.myrealestateagency.dao.AgencyWithPropertiesDao; +import fr.romanet.vj.apps.myrealestateagency.dao.DollarCurrencyDao; import fr.romanet.vj.apps.myrealestateagency.dao.PropertyDao; import fr.romanet.vj.apps.myrealestateagency.entities.Agency; import fr.romanet.vj.apps.myrealestateagency.entities.AgencyWithProperties; import fr.romanet.vj.apps.myrealestateagency.entities.Agent; import fr.romanet.vj.apps.myrealestateagency.dao.AgentDao; +import fr.romanet.vj.apps.myrealestateagency.entities.DollarCurrency; import fr.romanet.vj.apps.myrealestateagency.entities.Property; -@Database(entities = {Agency.class, Agent.class, Property.class}, version = 1, exportSchema = false) +@Database(entities = {Agency.class, Agent.class, Property.class, DollarCurrency.class}, version = 1, exportSchema = false) @TypeConverters({Property.Converters.class}) public abstract class RealEstateAgencyDatabase extends RoomDatabase { @@ -24,5 +26,6 @@ public abstract class RealEstateAgencyDatabase extends RoomDatabase { public abstract PropertyDao propertyDao(); public abstract AgencyWithAgentsDao agencyWithAgentsDao(); public abstract AgencyWithPropertiesDao agencyWithPropertiesDaoDao(); + public abstract DollarCurrencyDao dollarCurrencyDao(); } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/DollarCurrency.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/DollarCurrency.java new file mode 100644 index 0000000..3eb174a --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/DollarCurrency.java @@ -0,0 +1,48 @@ +package fr.romanet.vj.apps.myrealestateagency.entities; + +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.Index; +import androidx.room.PrimaryKey; + +import java.sql.Date; + +@Entity(tableName = "dollar", + primaryKeys = {"value", "fetch_date"}) +public class DollarCurrency { + + @NonNull + @ColumnInfo(name = "value") + private double value; + + @NonNull + @ColumnInfo(name = "fetch_date") + private Date fetchDate; + + public DollarCurrency(@NonNull double value, @NonNull Date fetchDate) + { + this.value = value; + this.fetchDate = fetchDate; + } + + public double getValue() + { + return value; + } + + public void setValue(double value) + { + this.value = value; + } + + public Date getFetchDate() + { + return fetchDate; + } + + public void setFetchDate(Date fetchDate) + { + this.fetchDate = fetchDate; + } +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java index fa4ecf5..0c52805 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/repository/MyRealEstateAgencyRepository.java @@ -2,10 +2,7 @@ package fr.romanet.vj.apps.myrealestateagency.repository; import android.content.Context; -import androidx.annotation.NonNull; import androidx.room.Room; -import androidx.room.RoomDatabase; -import androidx.sqlite.db.SupportSQLiteDatabase; import java.util.List; import fr.romanet.vj.apps.myrealestateagency.database.RealEstateAgencyDatabase; @@ -36,14 +33,7 @@ public final class MyRealEstateAgencyRepository { public MyRealEstateAgencyRepository(Context context) { - realEstateAgencyDatabaseDatabase = Room.databaseBuilder(context, RealEstateAgencyDatabase.class, "real_estate_agency_db") - .addCallback(new RoomDatabase.Callback() { - @Override - public void onCreate(@NonNull SupportSQLiteDatabase db) { - super.onCreate(db); - insertPreAgenciesData(Agency.populateAgencyTable()); - } - }).allowMainThreadQueries().build(); + realEstateAgencyDatabaseDatabase = Room.databaseBuilder(context, RealEstateAgencyDatabase.class, "real_estate_agency_db").allowMainThreadQueries().build(); } public List getAgents(){return realEstateAgencyDatabaseDatabase.agentDao().getAgentList();} @@ -51,5 +41,4 @@ public final class MyRealEstateAgencyRepository { public void addAgent(Agent agent){realEstateAgencyDatabaseDatabase.agentDao().insertAgent(agent);} public void addProperty(Property property){realEstateAgencyDatabaseDatabase.propertyDao().insertProperty(property);} public String getAgencyName(Agent agent){return realEstateAgencyDatabaseDatabase.agentDao().getAgencyName(agent.agencyEmployerId);} - public void insertPreAgenciesData(Agency[] agencies){realEstateAgencyDatabaseDatabase.agencyDao().insertPreData(agencies);} }