package database.dataset;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Time;

/**
 * @author alexis
 * dataset de la table vente
 */
public class Vente implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 6680737954085365040L;
	private int vente_p_id;
	private Time vente_heure;
	private Date vente_jour;
	private BigDecimal vente_prix;
	private int facture_fk_id;
	private int article_fk_id;
	private final String NOM_TABLE = "vente";

	/**************************************************************************
	 * constructeur
	 *************************************************************************/
	
	public Vente(int vente_p_id, Time vente_heure, Date vente_jour, BigDecimal vente_prix, int facture_fk_id, int article_fk_id) {
		this.vente_p_id = vente_p_id;
		this.vente_heure = vente_heure;
		this.vente_jour = vente_jour;
		this.vente_prix = vente_prix;
		this.facture_fk_id = facture_fk_id;
		this.article_fk_id = article_fk_id;
	}
	
	/**************************************************************************
	 * getter
	 *************************************************************************/

	/**
	 * @return the vente_p_id
	 */
	public int getVente_p_id() {
		return vente_p_id;
	}

	/**
	 * @return the vente_heure
	 */
	public Time getVente_heure() {
		return vente_heure;
	}

	/**
	 * @return the vente_jour
	 */
	public Date getVente_jour() {
		return vente_jour;
	}

	/**
	 * @return the prix
	 */
	public BigDecimal getVente_prix() {
		return vente_prix;
	}

	/**
	 * @return the facture_fk_id
	 */
	public int getFacture_fk_id() {
		return facture_fk_id;
	}

	/**
	 * @return the article_fk_id
	 */
	public int getArticle_fk_id() {
		return article_fk_id;
	}
	
	/**
	 * Retourne le nom de la table
	 * @return NOM_TABLE
	 */
	public String getNomTable()
	{
		return NOM_TABLE;		
	}
	
	/**************************************************************************
	 * setter
	 *************************************************************************/

	/**
	 * @param vente_p_id the vente_p_id to set
	 */
	public void setVente_p_id(int vente_p_id) {
		this.vente_p_id = vente_p_id;
	}

	/**
	 * @param vente_heure the vente_heure to set
	 */
	public void setVente_heure(Time vente_heure) {
		this.vente_heure = vente_heure;
	}

	/**
	 * @param vente_jour the vente_jour to set
	 */
	public void setVente_jour(Date vente_jour) {
		this.vente_jour = vente_jour;
	}

	/**
	 * @param prix the prix to set
	 */
	public void setVente_prix(BigDecimal prix) {
		this.vente_prix = prix;
	}

	/**
	 * @param facture_fk_id the facture_fk_id to set
	 */
	public void setFacture_fk_id(int facture_fk_id) {
		this.facture_fk_id = facture_fk_id;
	}

	/**
	 * @param article_fk_id the article_fk_id to set
	 */
	public void setArticle_fk_id(int article_fk_id) {
		this.article_fk_id = article_fk_id;
	}

	/**************************************************************************
	 * object
	 *************************************************************************/
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "vente [vente_p_id=" + vente_p_id + ", vente_heure="
				+ vente_heure + ", vente_jour=" + vente_jour + ", prix=" + vente_prix
				+ ", facture_fk_id=" + facture_fk_id + ", article_fk_id="
				+ article_fk_id + "]";
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + article_fk_id;
		result = prime * result + facture_fk_id;
		result = prime * result + ((vente_prix == null) ? 0 : vente_prix.hashCode());
		result = prime * result
				+ ((vente_heure == null) ? 0 : vente_heure.hashCode());
		result = prime * result
				+ ((vente_jour == null) ? 0 : vente_jour.hashCode());
		result = prime * result + vente_p_id;
		return result;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Vente other = (Vente) obj;
		if (article_fk_id != other.article_fk_id)
			return false;
		if (facture_fk_id != other.facture_fk_id)
			return false;
		if (vente_prix == null) {
			if (other.vente_prix != null)
				return false;
		} else if (!vente_prix.equals(other.vente_prix))
			return false;
		if (vente_heure == null) {
			if (other.vente_heure != null)
				return false;
		} else if (!vente_heure.equals(other.vente_heure))
			return false;
		if (vente_jour == null) {
			if (other.vente_jour != null)
				return false;
		} else if (!vente_jour.equals(other.vente_jour))
			return false;
		if (vente_p_id != other.vente_p_id)
			return false;
		return true;
	}
}