package br.com.centralit.citcorpore.bean;

import java.sql.Date;

import br.com.citframework.dto.IDto;

public class CategoriaServicoDTO implements IDto {

    private static final long serialVersionUID = 2984986456849222230L;
    
    private Integer idCategoriaServico;
	private Integer idCategoriaServicoPai;
    private Integer idEmpresa;
    private String nomeCategoriaServico;
    private Date dataInicio;
    private Date dataFim;
	private String nomeCategoriaServicoConcatenado;
	private String nomeCategoriaServicoPai;
    private Integer nivel;
    private String tipoCategoria;
    
	public Integer getIdCategoriaServico() {
		return idCategoriaServico;
	}

	public void setIdCategoriaServico(Integer idCategoriaServico) {
		this.idCategoriaServico = idCategoriaServico;
	}

	public Integer getIdCategoriaServicoPai() {
		return idCategoriaServicoPai;
	}

	public void setIdCategoriaServicoPai(Integer idCategoriaServicoPai) {
		this.idCategoriaServicoPai = idCategoriaServicoPai;
	}

	public Integer getIdEmpresa() {
		return idEmpresa;
	}

	public void setIdEmpresa(Integer idEmpresa) {
		this.idEmpresa = idEmpresa;
	}

	public String getNomeCategoriaServico() {
		return nomeCategoriaServico;
	}

	public void setNomeCategoriaServico(String nomeCategoriaServico) {
		this.nomeCategoriaServico = nomeCategoriaServico;
	}

	public Date getDataInicio() {
		return dataInicio;
	}

	public void setDataInicio(Date dataInicio) {
		this.dataInicio = dataInicio;
	}

	public Date getDataFim() {
		return dataFim;
	}

	public void setDataFim(Date dataFim) {
		this.dataFim = dataFim;
	}

	public String getNomeCategoriaServicoConcatenado() {
		return nomeCategoriaServicoConcatenado;
	}

	public void setNomeCategoriaServicoConcatenado(String nomeCategoriaServicoConcatenado) {
		this.nomeCategoriaServicoConcatenado = nomeCategoriaServicoConcatenado;
	}

	public String getNomeCategoriaServicoPai() {
		return nomeCategoriaServicoPai;
	}

	public void setNomeCategoriaServicoPai(String nomeCategoriaServicoPai) {
		this.nomeCategoriaServicoPai = nomeCategoriaServicoPai;
	}

	public Integer getNivel() {
		return nivel;
	}

	public void setNivel(Integer nivel) {
		this.nivel = nivel;
	}

	public String getTipoCategoria() {
		return tipoCategoria;
	}

	public void setTipoCategoria(String tipoCategoria) {
		this.tipoCategoria = tipoCategoria;
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((idCategoriaServico == null) ? 0 : idCategoriaServico.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		CategoriaServicoDTO other = (CategoriaServicoDTO) obj;
		if (idCategoriaServico == null) {
			if (other.idCategoriaServico != null)
				return false;
		} else if (!idCategoriaServico.equals(other.idCategoriaServico))
			return false;
		return true;
	}
	
	public int compareTo(CategoriaServicoDTO categoriaServico){
		return idCategoriaServico.compareTo(categoriaServico.getIdCategoriaServico());
	}
}