package com.pam.codenamehippie.modele; import com.google.gson.annotations.SerializedName; import java.util.Calendar; import java.util.Date; /** * Créé par Carl St-Louis le 23-11-2015. */ public class TransactionModele extends BaseModele<TransactionModele> { @SerializedName("receveur") protected OrganismeModele receveur; @SerializedName("donneur") protected OrganismeModele donneur; @SerializedName("alimentaire") protected AlimentaireModele alimentaire; @SerializedName("date_collecte") protected Date dateCollecte; @SerializedName("date_reservation") protected Date dateReservation; @SerializedName("date_disponible") protected Date dateDisponible = Calendar.getInstance().getTime(); @SerializedName("date_transaction") protected Date dateTransaction = Calendar.getInstance().getTime(); public Date getDateTransaction() { return this.dateTransaction; } public TransactionModele setDateTransaction(Date dateTransaction) { this.dateTransaction = dateTransaction; return this; } public OrganismeModele getReceveur() { return this.receveur; } public TransactionModele setReceveur(OrganismeModele receveur) { this.receveur = receveur; return this; } public OrganismeModele getDonneur() { return this.donneur; } public TransactionModele setDonneur(OrganismeModele donneur) { this.donneur = donneur; return this; } public AlimentaireModele getAlimentaire() { return this.alimentaire; } public TransactionModele setAlimentaire(AlimentaireModele alimentaire) { this.alimentaire = alimentaire; return this; } public Date getDateCollecte() { return this.dateCollecte; } public TransactionModele setDateCollecte(Date dateCollecte) { this.dateCollecte = dateCollecte; return this; } public Date getDateReservation() { return this.dateReservation; } public TransactionModele setDateReservation(Date dateReservation) { this.dateReservation = dateReservation; return this; } public Date getDateDisponible() { return this.dateDisponible; } public TransactionModele setDateDisponible(Date dateDisponible) { this.dateDisponible = dateDisponible; return this; } public Calendar getCalendarDateDisponible() { Calendar calendar = Calendar.getInstance(); calendar.setTime(this.dateDisponible); return calendar; } public Calendar getCalendarDateReservation() { Calendar calendar = Calendar.getInstance(); calendar.setTime(this.dateReservation); return calendar; } public Calendar getCalendarDateCollecte() { Calendar calendar = Calendar.getInstance(); calendar.setTime(this.dateCollecte); return calendar; } public Boolean estReservee() { return ((this.dateCollecte == null) && (this.dateDisponible != null) && (this.receveur != null)); } public Boolean estDisponible() { return ((this.dateDisponible != null) && (this.receveur == null)); } public Boolean estCollectee() { return ((this.dateCollecte != null) && (this.dateDisponible != null) && this.receveur != null); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof TransactionModele)) { return false; } TransactionModele rhs = (TransactionModele) o; return (((this.id == null) ? (rhs.id == null) : this.id.equals(rhs.id)) && ((this.receveur == null) ? (rhs.receveur == null) : this.receveur.equals(rhs.receveur)) && ((this.donneur == null) ? (rhs.donneur == null) : this.donneur.equals(rhs.donneur)) && ((this.alimentaire == null) ? (rhs.alimentaire == null) : this.alimentaire.equals(rhs.alimentaire)) && ((this.dateCollecte == null) ? (rhs.dateCollecte == null) : this.dateCollecte.equals(rhs.dateCollecte)) && ((this.dateReservation == null) ? (rhs.dateReservation == null) : this.dateReservation.equals(rhs.dateReservation)) && ((this.dateDisponible == null) ? (rhs.dateDisponible == null) : this.dateDisponible.equals(rhs.dateDisponible)) && ((this.dateTransaction == null) ? (rhs.dateTransaction == null) : this.dateTransaction.equals(rhs.dateTransaction))); } @Override public int hashCode() { int hash = 142; hash = (this.id != null) ? 71 * hash + this.id.hashCode() : hash; hash = (this.receveur != null) ? 71 * hash + this.receveur.hashCode() : hash; hash = (this.donneur != null) ? 71 * hash + this.donneur.hashCode() : hash; hash = (this.alimentaire != null) ? 71 * hash + this.alimentaire.hashCode() : hash; hash = (this.dateCollecte != null) ? 71 * hash + this.dateCollecte.hashCode() : hash; hash = (this.dateReservation != null) ? 71 * hash + this.dateReservation.hashCode() : hash; hash = (this.dateDisponible != null) ? 71 * hash + this.dateDisponible.hashCode() : hash; hash = (this.dateTransaction != null) ? 71 * hash + this.dateTransaction.hashCode() : hash; return hash; } }