package sicura.entities;
// Generated 2-lug-2017 12.20.06 by Hibernate Tools 5.2.3.Final

import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * VdelegatoFirmaEstrattoreDistinteId generated by hbm2java
 */
@Embeddable
public class VdelegatoFirmaEstrattoreDistinteId implements java.io.Serializable {

	private boolean abilitaDelegatoFirmaEstrattoreDistinte;
	private String denominazione;
	private String funzioneOrdinante;
	private Double importoLimiteFirma;
	private int id;
	private boolean dbgridSelect;
	private String emailResponsabile;
	private String userId;

	public VdelegatoFirmaEstrattoreDistinteId() {
	}

	public VdelegatoFirmaEstrattoreDistinteId(boolean abilitaDelegatoFirmaEstrattoreDistinte, int id,
			boolean dbgridSelect) {
		this.abilitaDelegatoFirmaEstrattoreDistinte = abilitaDelegatoFirmaEstrattoreDistinte;
		this.id = id;
		this.dbgridSelect = dbgridSelect;
	}

	public VdelegatoFirmaEstrattoreDistinteId(boolean abilitaDelegatoFirmaEstrattoreDistinte, String denominazione,
			String funzioneOrdinante, Double importoLimiteFirma, int id, boolean dbgridSelect, String emailResponsabile,
			String userId) {
		this.abilitaDelegatoFirmaEstrattoreDistinte = abilitaDelegatoFirmaEstrattoreDistinte;
		this.denominazione = denominazione;
		this.funzioneOrdinante = funzioneOrdinante;
		this.importoLimiteFirma = importoLimiteFirma;
		this.id = id;
		this.dbgridSelect = dbgridSelect;
		this.emailResponsabile = emailResponsabile;
		this.userId = userId;
	}

	@Column(name = "AbilitaDelegatoFirmaEstrattoreDistinte", nullable = false)
	public boolean isAbilitaDelegatoFirmaEstrattoreDistinte() {
		return this.abilitaDelegatoFirmaEstrattoreDistinte;
	}

	public void setAbilitaDelegatoFirmaEstrattoreDistinte(boolean abilitaDelegatoFirmaEstrattoreDistinte) {
		this.abilitaDelegatoFirmaEstrattoreDistinte = abilitaDelegatoFirmaEstrattoreDistinte;
	}

	@Column(name = "Denominazione", length = 50)
	public String getDenominazione() {
		return this.denominazione;
	}

	public void setDenominazione(String denominazione) {
		this.denominazione = denominazione;
	}

	@Column(name = "FunzioneOrdinante", length = 10)
	public String getFunzioneOrdinante() {
		return this.funzioneOrdinante;
	}

	public void setFunzioneOrdinante(String funzioneOrdinante) {
		this.funzioneOrdinante = funzioneOrdinante;
	}

	@Column(name = "ImportoLimiteFirma", precision = 53, scale = 0)
	public Double getImportoLimiteFirma() {
		return this.importoLimiteFirma;
	}

	public void setImportoLimiteFirma(Double importoLimiteFirma) {
		this.importoLimiteFirma = importoLimiteFirma;
	}

	@Column(name = "ID", nullable = false)
	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	@Column(name = "DBGridSelect", nullable = false)
	public boolean isDbgridSelect() {
		return this.dbgridSelect;
	}

	public void setDbgridSelect(boolean dbgridSelect) {
		this.dbgridSelect = dbgridSelect;
	}

	@Column(name = "EMailResponsabile", length = 50)
	public String getEmailResponsabile() {
		return this.emailResponsabile;
	}

	public void setEmailResponsabile(String emailResponsabile) {
		this.emailResponsabile = emailResponsabile;
	}

	@Column(name = "UserID", length = 10)
	public String getUserId() {
		return this.userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof VdelegatoFirmaEstrattoreDistinteId))
			return false;
		VdelegatoFirmaEstrattoreDistinteId castOther = (VdelegatoFirmaEstrattoreDistinteId) other;

		return (this.isAbilitaDelegatoFirmaEstrattoreDistinte() == castOther.isAbilitaDelegatoFirmaEstrattoreDistinte())
				&& ((this.getDenominazione() == castOther.getDenominazione())
						|| (this.getDenominazione() != null && castOther.getDenominazione() != null
								&& this.getDenominazione().equals(castOther.getDenominazione())))
				&& ((this.getFunzioneOrdinante() == castOther.getFunzioneOrdinante())
						|| (this.getFunzioneOrdinante() != null && castOther.getFunzioneOrdinante() != null
								&& this.getFunzioneOrdinante().equals(castOther.getFunzioneOrdinante())))
				&& ((this.getImportoLimiteFirma() == castOther.getImportoLimiteFirma())
						|| (this.getImportoLimiteFirma() != null && castOther.getImportoLimiteFirma() != null
								&& this.getImportoLimiteFirma().equals(castOther.getImportoLimiteFirma())))
				&& (this.getId() == castOther.getId()) && (this.isDbgridSelect() == castOther.isDbgridSelect())
				&& ((this.getEmailResponsabile() == castOther.getEmailResponsabile())
						|| (this.getEmailResponsabile() != null && castOther.getEmailResponsabile() != null
								&& this.getEmailResponsabile().equals(castOther.getEmailResponsabile())))
				&& ((this.getUserId() == castOther.getUserId()) || (this.getUserId() != null
						&& castOther.getUserId() != null && this.getUserId().equals(castOther.getUserId())));
	}

	public int hashCode() {
		int result = 17;

		result = 37 * result + (this.isAbilitaDelegatoFirmaEstrattoreDistinte() ? 1 : 0);
		result = 37 * result + (getDenominazione() == null ? 0 : this.getDenominazione().hashCode());
		result = 37 * result + (getFunzioneOrdinante() == null ? 0 : this.getFunzioneOrdinante().hashCode());
		result = 37 * result + (getImportoLimiteFirma() == null ? 0 : this.getImportoLimiteFirma().hashCode());
		result = 37 * result + this.getId();
		result = 37 * result + (this.isDbgridSelect() ? 1 : 0);
		result = 37 * result + (getEmailResponsabile() == null ? 0 : this.getEmailResponsabile().hashCode());
		result = 37 * result + (getUserId() == null ? 0 : this.getUserId().hashCode());
		return result;
	}

}
