diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/ModifiedDao.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/ModifiedDao.java new file mode 100644 index 0000000..51d8370 --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/dao/ModifiedDao.java @@ -0,0 +1,16 @@ +package fr.romanet.vj.apps.myrealestateagency.dao; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Query; + +import java.util.List; + +import fr.romanet.vj.apps.myrealestateagency.entities.Modified; + +@Dao +public interface ModifiedDao { + + @Query("SELECT * FROM modified") + LiveData> getModifiedList(); +} 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 5cbeb61..ff34c74 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 @@ -15,14 +15,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.DollarCurrencyDao; +import fr.romanet.vj.apps.myrealestateagency.dao.ModifiedDao; import fr.romanet.vj.apps.myrealestateagency.dao.PropertyDao; import fr.romanet.vj.apps.myrealestateagency.entities.Agency; 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.Modified; import fr.romanet.vj.apps.myrealestateagency.entities.Property; -@Database(entities = {Agency.class, Agent.class, Property.class, DollarCurrency.class}, version = 2, exportSchema = false) +@Database(entities = {Agency.class, Agent.class, Property.class, DollarCurrency.class, Modified.class}, version = 2, exportSchema = false) @TypeConverters({Property.Converters.class}) public abstract class RealEstateAgencyDatabase extends RoomDatabase { @@ -32,6 +34,7 @@ public abstract class RealEstateAgencyDatabase extends RoomDatabase { public abstract AgencyWithAgentsDao agencyWithAgentsDao(); public abstract AgencyWithPropertiesDao agencyWithPropertiesDaoDao(); public abstract DollarCurrencyDao dollarCurrencyDao(); + public abstract ModifiedDao modifiedDao(); private static RealEstateAgencyDatabase INSTANCE; diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java index c3afb15..36bb241 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Agency.java @@ -33,8 +33,8 @@ public class Agency implements Serializable { public static Agency[] populateAgencyTable(){ return new Agency[]{ new Agency("Agency of Paris"), - new Agency("Agency of Marseille"), - new Agency("France Habitation") + new Agency("France Habitation"), + new Agency("Agency of Marseille") }; } } \ No newline at end of file diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Modified.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Modified.java new file mode 100644 index 0000000..57126cd --- /dev/null +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Modified.java @@ -0,0 +1,26 @@ +package fr.romanet.vj.apps.myrealestateagency.entities; + +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; + +import java.sql.Date; + +@Entity(tableName = "modified", + primaryKeys = {"id_agent", "date_modification"}) +public class Modified { + + @NonNull + @ColumnInfo(name = "id_agent") + private int idAgent; + + @NonNull + @ColumnInfo(name = "date_modification") + private Date dateModification; + + public Modified(@NonNull int idAgent, @NonNull Date dateModification) + { + this.idAgent = idAgent; + this.dateModification = dateModification; + } +} diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Property.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Property.java index 7b78139..c921e20 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Property.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/entities/Property.java @@ -10,6 +10,8 @@ import androidx.room.TypeConverter; import java.io.Serializable; import java.sql.Date; +import java.text.ParseException; +import java.text.SimpleDateFormat; import static androidx.room.ForeignKey.CASCADE; @@ -111,12 +113,34 @@ public class Property implements Serializable { } } - public static Property[] populatePropertyTable() { + public static Property[] populatePropertyTable() throws ParseException { + String sDate1="30/10/2018"; + String sDate2="05/05/2018"; + String sDate3="04/12/2020"; + String sDate4="31/12/2020"; + Date date1= (Date) new SimpleDateFormat("dd/MM/yyyy").parse(sDate1); + Date date2= (Date) new SimpleDateFormat("dd/MM/yyyy").parse(sDate2); + Date date3= (Date) new SimpleDateFormat("dd/MM/yyyy").parse(sDate3); + Date date4= (Date) new SimpleDateFormat("dd/MM/yyyy").parse(sDate4); return new Property[]{ - new Property("Amazing property in the best district of Le Chesnay", "3 rue du docteur audigier", 15.8, 17.8, 1, + new Property("Amazing property of Le Chesnay", "3 rue du docteur audigier", 15.8, 17.8, 1, + new PropertyStatue(false, null, 15.8), new PropertyType("Apartment", 3, 9.8)), + new Property("Awesome house !", "124 Rue Saint-Dominique", 15.8, 17.8, 1, + new PropertyStatue(true, date1, 15.8), new PropertyType("House", 3, 9.8)), + new Property("Incredible neighbourhood", "14 Avenue de la Motte-Picquet", 15.8, 17.8, 1, + new PropertyStatue(false, null, 15.8), new PropertyType("House", 3, 9.8)), + new Property("The place to be", "11 Avenue du Dr François Arnaud", 15.8, 17.8, 2, + new PropertyStatue(true, date2, 15.8), new PropertyType("Apartment", 3, 9.8)), + new Property("Foreigners accepted !", "45 Avenue de Gravelle", 15.8, 17.8, 2, + new PropertyStatue(false, null, 15.8), new PropertyType("House", 3, 9.8)), + new Property("Family place", "11 Rue Jules Vallès", 15.8, 17.8, 2, + new PropertyStatue(true, date3, 15.8), new PropertyType("Apartment", 3, 9.8)), + new Property("Best district in Marseille", "2 Rue du Monastere", 15.8, 17.8, 3, + new PropertyStatue(false, null, 15.8), new PropertyType("House", 3, 9.8)), + new Property("Apartment near the port", "392 Rue Paradis", 15.8, 17.8, 3, + new PropertyStatue(true, date4, 15.8), new PropertyType("Apartment", 3, 9.8)), + new Property("Near the sea", "Rue François Taddei", 15.8, 17.8, 3, new PropertyStatue(false, null, 15.8), new PropertyType("Apartment", 3, 9.8)) - //new Property("Best appartment in Velizy-Villacoublay", "Rue de Villacoublay, 78140 Vélizy-Villacoublay", 19.8, 20.8, 1), - //new Property("Amazing property in the best district of Marseille", "15 rue de Marseille", 15.8, 17.8, 1), }; } } diff --git a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/EditPropertyActivity.java b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/EditPropertyActivity.java index 5c7ffc0..25c2221 100644 --- a/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/EditPropertyActivity.java +++ b/app/src/main/java/fr/romanet/vj/apps/myrealestateagency/view/EditPropertyActivity.java @@ -20,7 +20,6 @@ import fr.romanet.vj.apps.myrealestateagency.R; import fr.romanet.vj.apps.myrealestateagency.entities.Property; import fr.romanet.vj.apps.myrealestateagency.repository.PropertyRepository; import fr.romanet.vj.apps.myrealestateagency.viewmodel.EditPropertyActivityViewModel; -import fr.romanet.vj.apps.myrealestateagency.viewmodel.PropertiesDetailActivityViewModel; public class EditPropertyActivity extends AppCompatActivity { diff --git a/app/src/main/res/layout/activity_edit_property.xml b/app/src/main/res/layout/activity_edit_property.xml index 66c0e1b..14d320e 100644 --- a/app/src/main/res/layout/activity_edit_property.xml +++ b/app/src/main/res/layout/activity_edit_property.xml @@ -38,6 +38,7 @@ android:inputType="textPersonName" app:layout_constraintBottom_toTopOf="@id/editPropertyPrice" app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="@+id/editPropertyType" app:layout_constraintTop_toBottomOf="@id/editPropertyType" /> @@ -48,10 +49,9 @@ android:hint="@string/price" android:inputType="textPersonName" app:layout_constraintBottom_toTopOf="@id/editPropertySurface" + app:layout_constraintEnd_toEndOf="@+id/textView2" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/editPropertyNumberOfRooms" - /> + app:layout_constraintTop_toBottomOf="@id/editPropertyNumberOfRooms" /> + app:layout_constraintTop_toBottomOf="@id/editPropertyPrice" /> + app:layout_constraintTop_toBottomOf="@id/editPropertySurface" /> + app:layout_constraintTop_toBottomOf="@id/editPropertyStatueSale" /> + + + + + + + \ No newline at end of file