package com.rjconsultores.ventaboletos.entidad;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.rjconsultores.ventaboletos.anotacao.Renderizado;
import com.rjconsultores.ventaboletos.enums.EnumStatus;

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@EqualsAndHashCode
@Entity
@Table(name = "TRANSPORTADORA")
@SequenceGenerator(name = "TRANSPORTADORA_SEQ", sequenceName = "TRANSPORTADORA_SEQ", allocationSize = 1)
public class Transportadora implements Serializable{

	private static final long serialVersionUID = -8441764653321195183L;

	@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TRANSPORTADORA_SEQ")    
    @Column(name = "TRANSPORTADORA_ID")
    private Long transportadoraId;
    
	@Renderizado()
    @Column(name = "NIT")
    private String nit;
    
	@Renderizado
    @Column(name = "NOME_TRANSPORTADORA")
    private String nomeTransportadora;
    
    @Column(name = "CLASSE_PAGAMENTO")
    private Integer classePagamento;
    
    @Column(name = "EMAIL", length = 150)
    private String email;
    
    @Column(name = "USUARIO_ID")
    private Integer usuarioId;
    
    @Renderizado( conversor = EnumStatus.class)
    @Column(name = "ACTIVO")
    private boolean activo;
    
    @Column(name = "FECMODIF")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecModif;
    
    @Override
    public String toString() {
    	return nomeTransportadora;
    }
    
    public Transportadora(String nomeTransportadora) {
    	this.nomeTransportadora = nomeTransportadora;
    }
}